我一直在研究如何确定文件的实际编码及其所有的复杂性问题。但我只需要知道保存文件时所设置的编码方式。Windows 是否存储与文件类型、修改日期等类似的信息呢?
这是不可用的。Windows文件系统(NTFS)除了名称、扩展名、上次写入日期等基本信息外,不会为文件存储任何元数据,没有与文件类型相关的内容。
你只能使用BOM(字节顺序标记),即文件开头的字节,来指示UTF编码和字节顺序。它仅适用于使用UTF编码的文件,并且不幸的是,它是可选的。然而,真正的麻烦制造者是使用特定的8位非Unicode代码页编码的文本文件,通常是由遗留应用程序创建的。对此你无能为力,只能希望该文件距离你的计算机不远,以使默认系统代码页匹配。