这段代码有什么问题?为什么会有差异?
byte [] data = new byte [] {0x21, 0x4B, 0x9B, 0xE1, 0x2D, 0xA7, 0x4B, 0x93, 0x1E, 0x3F, 0xDA, 0x4F, 0xB1};
Console.WriteLine(BitConverter.ToString(data));
string dataStr = ASCIIEncoding.ASCII.GetString(data);
byte[] ca = ASCIIEncoding.ASCII.GetBytes(dataStr);
Console.WriteLine(BitConverter.ToString(ca));
输出:
21-4B-9B-E1-2D-A7-4B-93-1E-3F-DA-4F-B1
21-4B-3F-3F-2D-3F-4B-3F-1E-3F-3F-4F-3F
答案 0 :(得分:2)
ASCII不定义7F
以上的字符代码,似乎ASCIIEncoding.ASCII.GetString()
选择用3F
替换无效字节,?
代表字符{{1}}。