操作系统如何知道文件的编码

5
例如,我在我的磁盘上有一个文件:a.txt 我以十六进制模式打开它,除了UTF-8编码的纯文本外,没有其他信号字符。 我想知道操作系统如何知道它是UTF-8编码的。 谢谢。
2个回答

4
操作系统并不知道文件的编码方式。十六进制编辑器可能会自动检测它,这是通过查找特定字节对的存在和缺失来实现的,但这并不是100%可靠的。
通常情况下,没有一般性的标志或属性用于存储文件的编码方式。这就是为什么在打开文本文件时经常需要手动指定编码方式的原因。
标记UTF-8或-16文件的一种方法是使用BOM,但这不是强制性的。

1
操作系统没有文本文件编码的概念。文本编辑器通常从内容中猜测,或者假定为UTF-8,或默认为您所在地区的编码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接