ubuntu(または一般的にはdebian unix)のテキストファイルがある場合、ファイルのファイルエンコーディングを確認するにはどうすればよいですか?odまたはhexdumpを実行して、エンコーディングのフィンガープリントを作成できますか?何に気をつけるべきですか?
2 に答える
これを行うためのツールはたくさんあります。「エンコーディングの検出」を Web 検索してみてください。ここに私が見つけたツールのいくつかがあります:
Internationalizations Classes for Unicode (ICU) は、開始するのに最適な場所です。特にCharacter Set Detectionのページを参照してください。
Chardetは、ファイルのエンコーディングを推測するための Python モジュールです。chardet.feedparser.org を参照してください。
*nix コマンドライン ツールファイル はファイル タイプを検出しますが、ファイルに記述されている場合 (たとえば、ファイルに MIME タイプ表記がある場合) はエンコーディングも検出する可能性があります。見る
man file
Perl モジュールEncode::Detectおよび Encode::Guess。
誰かが StackOverflow で同様の質問をしました。PHP: Detect encoding and make everything UTF-8という質問を検索してください。これは、ネットからファイルをフェッチし、PHP を使用するコンテキストですが、コマンドライン PHP スクリプトを作成することもできます。
ICU のページが文字セットの検出について述べていることに注意してください。仕事が難しい。ファイル内のオクテットがあいまいなエンコーディングである可能性があることを忘れないでください。つまり、複数の異なるエンコーディングを使用して賢明に解釈されます。それらは混合エンコーディングの場合もあります。つまり、オクテットの異なるサブセットは、異なるエンコーディングで解釈されても意味があります。これが、常に仕事をしてくれる、推奨できる単一のコマンドライン ツールがない理由です。
単一のファイルがあり、それを既知のエンコーディングに変換したいだけの場合、TextWrangler や OpenOffice.org などのさまざまなエンコーディングを使用してインポートできるテキスト エディタでファイルを開くのが私の秘訣です。まず、ファイルを開き、エディターにエンコーディングを推測させます。結果を見てください。満足できない場合は、エンコーディングを推測し、そのエンコーディングを指定したエディタでファイルを開き、結果を見てください。次に、UTF-16 などの既知のエンコーディングで保存します。
エンカが使えます。Enca は、エンコードの検出と変換のための小さなコマンド ライン ツールです。
次の方法で debian / ubuntu にインストールできます。
apt-get インストール エンカ
それを使用するには、電話するだけです
enca ファイル名
詳細については、マンページも参照してください。