为什么从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,是未扩展的。