c#编码中的一个奇怪的事情

roa*_*oul 3 c# encoding

我将a转换byte array为a string,然后将其转换stringbyte array.这两个字节数组是不同的.

如下:

byte[] tmp = Encoding.ASCII.GetBytes(Encoding.ASCII.GetString(b));
Run Code Online (Sandbox Code Playgroud)

假设b是一个字节数组.

b [0] = 3,b [1] = 188,b [2] = 2 //十进制

结果:

tmp [0] = 3,tmp [1] = 63,tmp [2] = 2

这就是我的问题,它有什么问题?

Row*_*haw 5

188超出ASCII范围.不在相应字符集中的字符转换为"?" 按设计(你更喜欢转置为"1/4"吗?)