如何在 C# 中将 unicode String
的值打印到控制台?
byte[] unicodeBytes = new byte[]
{0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x70, 0x63,
0x61, 0x70};
string unicodeString = Encoding.Unicode.GetString(unicodeBytes);
Console.WriteLine(unicodeString);
我得到的是“??????????”
但是,当处于 Debug模式时,我在自动和本地窗口中看到以下内容,因为我想显示 unicodeString 的值。
“奢侈 Jade 仪〵ㅟ⸷厌�”
如何将正确的结果打印到控制台,如用于调试的自动和本地窗口所显示的那样?
最佳答案
我怀疑这些字节确实是 UTF8
,而不是你想象的 UTF16
。
看看,如果您将代码更改为:
byte[] unicodeBytes = new byte[]
{0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x70, 0x63,
0x61, 0x70};
string unicodeString = Encoding.UTF8.GetString(unicodeBytes);
Console.WriteLine(unicodeString);
你会得到输出:
application/pcap
关于C#:如何将 unicode 字符串打印到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2638936/