unicode在记事本中不可见,但在控制台中可见

时间:2015-08-05 22:19:10

标签: unicode notepad

我在记事本中保存了一个文件,并收到警告消息,该文件包含无法正确保存为ansi的unicode。我没有看到任何会出现问题的字符,所以我在控制台中打开了文件,并在文本中找到了这些随机字符。它们在记事本中根本不可见。甚至他们在控制台中占据的空间也不在记事本中。下面我在记事本和控制台中发布了文本的屏幕截图。发生了什么事?

记事本

notepad

控制台

console

1 个答案:

答案 0 :(得分:2)

控制台上显示的字符是Zero Width Space的UTF-8编码,在记事本或任何其他Unicode应用程序中不可见。控制台通常不使用Unicode,它使用代码页(通常为code page 437)来确定根据输出的字节显示哪个字符。零宽度空间的UTF-8编码为3个字节\xe2\x80\x8b,因此您在控制台上看到3个字符,因为您有两个零宽度空间而翻倍。