首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

为何从byte[]转为string然后转为byte[]之后结果和原来的byte[]不一样

2011-12-25 
为什么从byte[]转为string然后转为byte[]之后结果和原来的byte[]不一样?哪位牛人帮小弟看下,代码如下:publ

为什么从byte[]转为string然后转为byte[]之后结果和原来的byte[]不一样?
哪位牛人帮小弟看下,代码如下:
public   void   Start0()
{
byte[]   b   =   new   byte[1];
b[0]   =   Convert.ToByte( "10101000 ",   2);
int   i   =   Convert.ToInt32(b[0]);
Console.WriteLine(i);
string   s   =   Encoding.ASCII.GetString(b);
byte[]   temp   =   Encoding.ASCII.GetBytes(s);
int   j   =   Convert.ToInt32(temp[0]);
Console.WriteLine(j);

}
结果打印如下:
168
63
为什么两者不一样啊?

[解决办法]
ASCII最大值是127
虽然扩展后的ASCII是255不过Encoding.ASCII只是us-ascii,是未扩展的。

热点排行