在 C# 中将一些字节数组与 unicode 字符串一起处理时,我遇到了一个奇怪的问题。下面是我的代码。
var bytes = new byte[] {128, 216};
var strstr = Encoding.Unicode.GetString(bytes);
var newBytes = Encoding.Unicode.GetBytes(strstr);
Console.WriteLine(BitConverter.ToString(bytes));
Console.WriteLine(BitConverter.ToString(newBytes));
Run Code Online (Sandbox Code Playgroud)
很简单,对吧?然而,newBytes 与 bytes 不一样,这让我感到震惊。在我看来,GetString 和 GetBytes 应该是相反的操作。谁能告诉我发生了这种事吗?
输出是
80-D8
FD-FF
提前致谢。