我有文本文件,我怎么知道文件中的文字是UTF8标准还是Mac OS Roman
答案 0 :(得分:1)
UTF-8文件可以以byte order mark (BOM)开头,这样可以轻松识别。
如果他们不这样做,你就无法确定,但需要基本上编写代码以进行有根据的猜测。
有几种方法可以猜测;
所有字符< = ascii 127在两种编码之间应该是相同的,所以如果文件中存在所有字符,则编码无关紧要,它将产生相同的文本。
答案 1 :(得分:1)
对于单个文件,实际的举措是打开它,例如在Web浏览器中,通过浏览器的“视图”菜单测试两种编码的样子。如果编码很重要(即,在Ascii范围0-127之外有字符),您通常应该立即看到差异(至少如果您可以阅读文档的语言)。
在编程中,如果您需要设置一个自动解决此类问题的通用工具,最好尝试在两种编码中读取文件(使用您喜欢的编程语言和工具)并检查成功。如果两种方式都成功,请检查它是否也可以作为Ascii读取 - 如果可以,答案是微不足道的(文件是UTF-8和MacRoman编码),如果没有,你需要一些额外的逻辑。原则上,需要检查内容,因为数据可以在编码级别双向解释,只有内容可以解析哪种解释是正确的。