2012-04-25 45 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