文本文件编码方案

时间:2015-12-23 02:32:14

标签: c++ unicode ascii vi

应用程序(例如vim)在读取之前如何知道给定文本文件所处的格式(即ASCII,unicode等)?

另外我们怎么写一个C ++程序来检测它?

1 个答案:

答案 0 :(得分:3)

他们在阅读之前通常不知道。有时候他们在阅读之后就不知道 - 大多数人都会看到文件的开头,并试着猜测它所包含的数据的编码。

在某些情况下,这可能非常简单(例如,如果它以Unicode BOM开头),但在其他情况下相当困难。有一段时间,微软的“IsTextUnicode”对相当数量的英文文本做了不好的猜测,所以Notepad(对于一个使用它的程序)会让你输入一个文件,然后当你再次打开文件时,会显示你输入的英语被解释为用Unicode编码的中文字符。