c# – 从字符串转换为字节奇怪的行为
发布时间:2020-12-16 00:02:39 所属栏目:百科 来源:网络整理
导读:我有这样的字符串“0100110011001”我想将它转换为字节数组,使得数组包含零和一个问题,转换后数组包含49,48我不是为什么我尝试了很多编码,例如我使用的下面的代码,并更改了编码类型 System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding(); by
|
我有这样的字符串“0100110011001”我想将它转换为字节数组,使得数组包含零和一个问题,转换后数组包含49,48我不是为什么我尝试了很多编码,例如我使用的下面的代码,并更改了编码类型
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte result = encoding.GetBytes(str);
任何想法为什么会发生,以及如何实现我想要的输出 解决方法
48是0的ASCII代码,49是1的ASCII代码.有许多方法可以执行此字符串的转换,但这应该足以让您自己管理.祝好运 :)
可能的方法: public static class StringExtensions
{
public static byte[] ToByteArray(this string str)
{
char[] arr = str.ToCharArray();
byte[] byteArr = new byte[arr.Length];
for (int i=0; i<arr.Length; ++i)
{
switch (arr[i])
{
case '0': byteArr[i] = 0; break;
case '1': byteArr[i] = 1; break;
default: throw new Exception(arr[i]+" is not 0 or 1.");
}
}
return byteArr;
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
