iconvコマンドでエンコーディング変換 macOS/Linux/Unix
iconv コマンドは、異なる文字コード間でテキストファイルのエンコーディングを変換するために使用されるコマンドラインユーティリティです。このコマンドは、多くのUNIX系オペレーティングシステムやLinuxディストリビューション、そしてmacOSで利用可能です。iconvの基本的な使い方
bash
iconv -f 元のエンコーディング -t 目的のエンコーディング 入力ファイル名 > 出力ファイル名
- -f または --from-code オプションで元のエンコーディングを指定します。
- -t または --to-code オプションで変換後のエンコーディングを指定します。
- 入力ファイル名の後には、変換したいファイルの名前を指定します。
- 出力は標準出力に送られるので、リダイレクト (>) を使用してファイルに保存することが一般的です。
エンコーディングの一覧表示
利用可能なエンコーディングの一覧を表示するには、以下のコマンドを使用します。
bash
iconv -l
iconvの使用例
UTF-8のテキストファイルをShift_JISに変換する例:
bash
iconv -f UTF-8 -t SHIFT_JIS input.txt > output.txt
ISO-8859-1のテキストファイルをUTF-8に変換する例:
bash
iconv -f ISO-8859-1 -t UTF-8 input.txt > output.txt
注意点
- 変換できない文字がある場合、iconv はエラーを出力します。これを回避するには、-c オプションを使用して、変換できない文字を出力から除外することができます。
- テキストデータに特定のエンコーディングが適用されていることを確認することは重要です。誤ったエンコーディングを指定すると、データが正しく変換されない可能性があります。
関連記事
アイデアノート > macOSで使えるシェル