2010-09-09 51 views

回答

3

至少在一般情況下,有沒有辦法肯定是幹什麼用的編碼文件 - 最好你可以做的是基於啓發式的合理猜測。你可以消除一些可能性,但充其量只是在縮小可能性而不確認任何可能性的情況下。例如,大多數ISO 8859變體允許使用任何字節值(或字節值模式),因此幾乎所有的內容都可以用幾乎所有的ISO 8859變體進行編碼(而且我只使用「幾乎」出於謹慎,沒有任何確定性,你可以消除任何可能性)。

但是,您可以做出一些合理的猜測。例如,一個以UTF-8編碼BOM(EF BB BF)的三個字符開頭的文件,假設它真的是UTF-8可能是安全的。同樣,如果您看到像110xxxxx 10xxxxxx這樣的序列,這是一個非常合理的猜測,您所看到的是用UTF-8編碼的。如果您看到像110xxxxx 110xxxxx這樣的序列,則可以消除UTF-8被正確識別的可能性(正確)。 (110xxxxx是序列的前導字節,其中必須跟隨一個非前導字節,而不是正確編碼的UTF-8中的另一個前導字節)。

0

那麼,你不能。你可以用文件中的一些示例數據顯示一種「預覽」(或者我應該說是評論?),以便用戶可以檢查它是否看起來沒問題。也許可以選擇不同的編碼選項來幫助確定正確的編碼選項。