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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |