我正在使用编码。 我的字节数组包含 ascii NULL ( )、END OF MEDIUM (\u0019) 和文件分隔符 (c)。 (链接)
Encoding.ASCII.GetString(bytesRequest)
设法将字符解码为以下字符串:
\u0019_STACKO_001_55010\u001cB
既然这三个字符是不可打印的,那么VS控制台如何决定如何显示这些字符呢?
谢谢,
我对控制台的内部工作没有任何了解,我正在研究有关 Unicode 的知识,但这是我到目前为止已经弄清楚的。
如果右键单击控制台窗口的标题,则可以选择“属性”。在第一个选项卡(“选项”)中,您将找到“当前字符表”。在我的电脑上,它显示“850(OEM - ...)”。在美国可能是 437。
代码页 850 的第一部分 (0-127) 与代码页 437 中的相同:
在这里您可以找到不可打印字符使用的符号以及相应的 Unicode 代码点。
VS 控制台正在将控制代码转换为代码页 437 中描述的相应 Unicode 代码点。
您在“属性”(“字符”)的第二个选项卡中选择的字体将负责控制台中符号的外观。在我的电脑上,“Consolas”是默认字体。
如果您选择“Lucida Sans Typewriter”作为字体,您将看到控制字符的框,因为该字体没有任何用于控制字符的 Unicode 代码点的字形。
您可以使用“字符映射表”来显示 Windows 中已安装字体的字形。