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



例如,我的磁盘上有一个文件:a.t txt我以十六进制模式打开它,里面没有其他信号字符,只有UTF-8的纯文本。

我想知道操作系统如何知道它是UTF-8??

谢谢,

操作系统不知道。十六进制编辑器可能会自动检测到它。这可以通过查找特定字节对的存在和不存在来实现,但它不是100%可靠的。

没有存储文件编码的通用标志或属性。这就是为什么在打开文本文件时通常需要手动指定编码的原因。

标记UTF-8或-16文件的一种方法是BOM,但这不是强制性的。

操作系统没有文本文件编码的概念。文本编辑器通常根据内容进行猜测,或者假设使用UTF-8,或者默认使用您所在地区的编码。

最新更新