×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

iconv

(ファイルのエンコーディングを変換)
iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前] [入力ファイル]
iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前] [入力ファイル] > [出力ファイル]
iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前] [入力ファイル] | [コマンド...]

(コマンドの出力のエンコーディングを変換して出力)
[コマンド...] | iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前]
[コマンド...] | iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前] > [出力ファイル]
[コマンド...] | iconv -f [元のエンコーディング名] -t [変換したいエンコーディングの名前] | [コマンド...]

(利用可能なエンコーディング名の一覧を出力)
iconv --list | less
  • ファイルのエンコーディングを変換したものを標準出力へ出力する

  • ファイルの引数がない場合は標準入力を用いる

  • 元のエンコーディングは自動検出せず、自分で指定する必要がある

  • 改行コード変換の機能はない

  • エンコーディング名にはエイリアスがあり、例えばeucjpeuc-jpも同じEUC-JPのエンコーディングを示す(これは/usr/lib(64)/gconv/gconv-modulesを見ることで調べることができる)

  • オプションの-ffrom,-ttoとみると分かりやすく、それぞれ長い形式の--from-code,--to-codeという指定もできる

[注意]注意

WindowsにおけるShift_JISのエンコーディングはcp932(sjis-win)であり、sjis(shift_jis)とは異なる。

例146 CP932のエンコーディングで書かれたテキストファイルをUTF-8環境の端末でlessを用いて開く

$ iconv -f cp932 -t utf8 < [CP932エンコーディングのファイル] | less
    (もしくは)
    $ cat [CP932エンコーディングのファイル] | iconv -f cp932 -t utf8 | less

関連セクション