windows - Windows 记事本如何解释字符?

标签 windows encoding utf-8 notepad hex-editors

我想知道 Windows 如何解释字符。

我用十六进制编辑器创建了一个包含 3 个字节 E3 81 81 的文件。
这些字节是 UTF-8 中的 字符。

我打开记事本,它显示。我没有指定文件的编码,我只是创建了字节,记事本正确地解释了它。

记事本是否以某种方式猜测编码?
或者十六进制编辑器是否使用特定编码保存这些字节?

最佳答案

如果文件只包含这三个字节,则根本没有关于使用哪种编码的信息。

一个字节就是一个字节,没有办法在其中包含任何编码信息。此外,十六进制编辑器甚至不知道您打算将数据解码为文本。

记事本通常使用 ANSI 编码,因此如果它以 UTF-8 格式读取文件,则它必须根据文件中的数据猜测编码。

如果您将文件保存为 UTF-8,记事本会将 BOM(字节顺序标记)EF BB BF 放在文件的开头。

关于windows - Windows 记事本如何解释字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6769311/

相关文章:

php - SimpleXml 如何正确设置编码和 xmls?

java - 是否有任何正确的解决方案来获取和保存印地语字符并将这些字符显示到 jsp 页面?

java - Java 中的 UTF-8 到 EBCDIC

C - 计算字符串中可能的不重复组合的数量

python - 使用 utf-8 编码后仍出现 ascii 代码错误

python-2.7 - Scrapy::转储到 json 文件时出现编码问题

mysql - 'latin- 1' codec can' t 编码字符 u'\u2014' 在位置 23 : ordinal not in range(256)

windows - Windows中的jq命令无法按预期工作

windows - 在 go 中提供 samba 文件的矛盾性能

windows - Windows下如何刷新磁盘读缓存?