我有一个测试程序如下:
这将产生以下结果:
据我所见,在这里,GetBytes运行正确。Unicode的167=> CP437的21
但GetString没有运行
CP437的21 => Unicode的21。这是一个bug还是我的错误?
char c = '§';
Debug.WriteLine("c: " + (int)c);
byte b = Encoding.GetEncoding(437).GetBytes("§")[0];
Debug.WriteLine("b: " + b);
char c1 = Encoding.GetEncoding(437).GetString(new byte[] { 21 })[0];
Debug.WriteLine("c1: " + (int)c1);
这将产生以下结果:
c: 167
b: 21
c1: 21
据我所见,在这里,GetBytes运行正确。Unicode的167=> CP437的21
但GetString没有运行
CP437的21 => Unicode的21。这是一个bug还是我的错误?
GetBytes
和GetString
两者都返回只有一个元素的数组吗? - Kieren JohnstoneGetString
返回的字符串吗?我不知道这些方法的内部工作原理,但我同意它看起来非常奇怪。 - Kieren Johnstone