C#字节数组和字符串相互转换

.Net技术 码拜 9年前 (2016-06-06) 1293次浏览
讨教一个问题,就是C#字节数组和字符串互转的时候假如全是数字就不会出现问题, 但不是数字就有问题了;最后发现是转换的长度不相等。大家能帮忙解释一下,不同编码字节数组和字符串互转后长度不一致的原因吗?
还有能不能给一个具体的转换的方法,数字、字母、汉字都适用的。
解决方案

25

string = Convert.ToBase64String(byte[]);
byte[] = Convert.FromBase64String(string);

10

原因是计算机上通常用来处理的字符串是Unicode编码的,当转化成其他格式的编码后,Byte数组的长度自然和Unicode的不相同了吧

25

引用:
Quote: 引用:
byte[] bs = Encoding.UTF8.GetBytes("你的字符串");
            string str = Encoding.UTF8.GetString(bs);

这种方法本人用了之后就出现问题了,有时候前后长度不等

什么长度不等?


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#字节数组和字符串相互转换
喜欢 (0)
[1034331897@qq.com]
分享 (0)