私のファイルシステム(Windows 7)には、いくつかのテキストファイルがあります(重要な場合、これらはSQLスクリプトファイルです)。
Notepad ++で開くと、「エンコード」メニューで「UCS-2リトルエンディアン」と「BOMなしのUTF-8」のエンコードが報告されます。
ここの違いは何ですか?それらはすべて完全に有効なスクリプトのようです。Notepad ++なしでファイルにどのエンコーディングが含まれているかをどのように確認できますか?
enca
およびchardet
POSIXシステム用。
iconv
特にこの目的に役立ちます。基本的に、破損した文字列/テキストを異なるエンコーディングで繰り返し処理して、どれが機能するかを確認します。キャラクターが破損しなくなったら勝ちです。ここで、プログラマチックな例を挙げて答えたいと思います。しかし、残念なことに保護された質問です。
chardet
かchardetect
(例えば、あなたのシステムでは使用できません、あなたはあなたのパッケージマネージャ経由でパッケージをインストールすることができますapt search chardet
-のUbuntu / Debianのパッケージは、通常と呼ばれる上python-chardet
またはpython3-chardet
)または経由ピップとのpip install chardet
(またはpip install cchardet
より高速なC-最適化されたバージョンのため)。