2012-04-25 75 views

回答

4

如果 “EF BF BF” 是一个错字,你指的是 “EF BB BF”:

是的,如果它是第一个字节。它们是“BOM”,Byte Order Mark,用于识别文件的endianness

对于UTF-16和UTF-32编码文件,这是强制性的。

对于UTF-8,这是可选的。如果它存在,某些系统可能会被它所迷惑,如果在期望ISO-8859-1的上下文中使用带有BOM的UTF-8文件,它可能会带来意想不到的行为。

编辑: 如果 “EF BF BF” 是不是一个错字,它是not valid UTF-8文件中的任何地方。

+0

正确的问题问题,但在UTF-16和UTF-32中BOM不是强制性的。参考文献:Unicode Standard,Ch。 3,http://www.unicode.org/versions/latest/ch03.pdf – 2012-04-25 10:10:25

+0

@ JukkaK.Korpela:谢谢,我会更新我的答案。 – 2012-04-25 10:42:08

+0

谢谢你的解释 – ExtremeBlue 2012-04-26 05:59:15