关于c ++:文件开头或文件末尾的“BOM”字符的位置是什么?

What is the location of 'BOM' character at beginning of file or at end of file?

本问题已经有最佳答案,请猛点这里访问。

我想知道"bom"字符在文件中的位置,以及如何查看该字符。如果有人解释什么是bom字符,这将很有帮助。我想做的是我有一个ANSI文件,我想把它转换成UTF-8编码我该怎么做?

提前谢谢


" I want to know the location of 'BOM' character in the file

物料清单在文件的开头。

你为什么不谷歌或者在维基百科上查一下呢?

" how can i view this character

通常你不能,但在某些情况下会显示出来。

" It will be helpful if somebody explain what is BOM character

bom最初是一个字节顺序标记,用于方便地确定utf-16或utf-32编码文本的尾数。在Windows中,它也用于标识UTF-8编码文件,特别是如果没有BOM,Visual C++编译器将错误地识别编码。不幸的是,维基百科关于bom的文章倾向于一个Unix Land Fan Boys的观点,即utf-8文件应该与Windows中的常见要求不兼容(这有助于认为Microsoft是Unicode联盟的创始成员,因此Unicode标准中没有任何与windo中的约定相反的内容WS)。

" I want to do is that i am having ANSI file and i want to convert it into UTF-8 encoding \ how can i do that

要准确转换,您需要知道文件使用的确切编码。注意,"windows ansi"是一组可能的编码,其中给定windows安装上的windows ansi是GetACPAPI函数报告的代码页。考虑到编码的知识,您可以使用Windows API的EDOCX1×1,或者C库的EDCOX1×2,或者C++ 11 C++库的EDCOX1×3。

1)在UTF-8源代码中,旧的G+编译器阻塞在BOM上,与Visual C++相反,需要BOM。令人高兴的是,G++的现代版本接受了BOM。按标准要求。