給定一個Ubuntu的文本文件(或一般的debian unix),如何找出文件的文件編碼?我可以運行od或hexdump就可以對其進行指紋編碼了嗎?我應該尋找什麼?我通過mysqldump導出到一個文件。如何找出文件的文件編碼?
回答
有很多工具可以做到這一點。嘗試網絡搜索「檢測編碼」。下面是一些我發現的工具:
的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。
您可以使用enca。 Enca是一個用於編碼檢測和轉換的小型命令行工具。
您可以通過於Debian/Ubuntu安裝:
的apt-get安裝ENCA
爲了使用它,只需調用
ENCA FILENAME
另請參閱manpage瞭解更多信息。
- 1. 如何找出文件的編碼? C#
- 2. 如何通過ruby導出json文件?
- 3. 我如何通過python導出PDF文件附件
- 4. 通過輸出從js文件到另一個PHP文件
- 5. 如何將存儲過程輸出導出到文本文件
- 6. 如何找出我通過OneDrive API共享文件和文件夾的人
- 7. 我如何「導入」一個java文件到另一個文件
- 8. 不匹配導入一個mysqldump文件
- 9. 未找到導出的Perl子文件
- 10. 組件一導出到Excel文件
- 11. 編碼問題導出文件
- 12. 找出我的程序輸出重定向到一個文件
- 13. 結果導出到一個txt文件
- 14. 如何導出我的sharedPreferences文件
- 15. 如何將WebSQL數據庫導出爲.sql文件? (如mysqldump)
- 16. Mathematica:通過按鈕導出.gif文件
- 17. 如何通過int描述符找出文件名? (或「?可我..」)
- 18. 如何導出jar文件?
- 19. 導出查詢輸出到一個文本文件
- 20. 我如何找出文件的文件描述符
- 21. 角2:出口導出到一個組件文件
- 22. 如何將多個.xls(Excel)文件導出到一個.csv文件中?
- 23. 在mysql導出後找不到文件
- 24. 找不到配置文件導出ipa
- 25. 如何編碼輸出json文件(SuperObject)?
- 26. 的Python:導出文本列表到一個文本文件
- 27. 輸出文件通過Dockerfile
- 28. 有條件地通過mysqldump或phpmyadmin導入mysql轉儲文件
- 29. 通過FileOutputStream輸出的文本文件
- 30. 通過bash導出同一文件中的多個XML塊