您的位置:首页 > 其它

数据类型 互相转换

2007-11-19 11:36 155 查看
在写加解密和网络传输的时候,通常需要将参数转换成byte数组的形式,但是.Net在互相转换的时候却没有将转换的方式做在一起。

string-->byte[]

byte[] bytes = new UnicodeEncoding().GetBytes(str);

byte[]-->string

str = new UnicodeEncoding().GetString(bytes);

这样就能转换成base64位格式的字符串。不过如果你仔细查看byte[]就会发现,在每个byte后都会多一个0的字节,最后转换出来的字符串就不是原来的字符串了。

string str = "abcdefgh";

byte[] bytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes(str);

str = new UnicodeEncoding().GetString(bytes);

str = Convert.ToBase64String(bytes);

byte[] bytes1 = Convert.FromBase64String(str);

string str1 = System.Text.Encoding.GetEncoding("gb2312").GetString(bytes1);

这样写就能解决上诉问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: