2009-12-12 37 views

回答

1

有很多工具可以做到這一點。嘗試網絡搜索「檢測編碼」。下面是一些我發現的工具:

  • Internationalizations類的Unicode(ICU)是一個偉大的地方開始。尤其請參閱Character Set Detection上的頁面。

  • Chardet是一個Python模塊,用於猜測文件的編碼 。見chardet.feedparser.org

  • 的* nix的命令行工具文件檢測文件類型,但是如果文件中提到可能還檢測編碼(例如,如果有在 該文件的MIME類型符號)。見man file

  • Perl模塊編碼::檢測編碼::猜猜

  • 有人在StackOverflow中提出了類似的問題。搜索問題,PHP:檢測編碼並製作一切UTF-8。這是在從網上獲取文件並使用PHP的情況下,但您可以編寫一個命令行PHP腳本。

注井ICU頁說怎麼樣的字符集檢測:「字符集檢測是...,充其量,運用統計學和啓發式的不精確的操作......」以我的經驗問題域品牌這個工作很容易或困難很大。不要忘記,文件中的八位字節可能是模糊的編碼,,即使用多種不同的編碼進行明智的解釋。它們也可以是混合編碼,即,這些八位字節的不同子集有意義地用不同的編碼解釋。這就是爲什麼沒有一個我可以推薦的命令行工具,它總能完成這項工作。

如果你有一個文件,而你只是想把它變成一個已知的編碼,我的訣竅是用一個文本編輯器打開文件,它可以使用一些不同的編碼導入,比如TextWrangler或OpenOffice.org 。首先,打開文件,讓編輯猜測編碼。看看結果。如果您對此不滿意,請猜測編碼,使用指定該編碼的編輯器打開文件,然後查看結果。然後保存爲已知的編碼,例如UTF-16。

0

您可以使用enca。 Enca是一個用於編碼檢測和轉換的小型命令行工具。

您可以通過於Debian/Ubuntu安裝:

的apt-get安裝ENCA

爲了使用它,只需調用

ENCA FILENAME

另請參閱manpage瞭解更多信息。