iconv Shift-JIS escape文字(0x5c)の変換
Shift-JISでは、'/'は0x5cであるが、UTF-8への変換方法によりUTF-8で0xc2a5(U+00a5)、0x5c(U+005c)となる。
テキストエディターではどちらも¥と表示されるが、0xc2a5の場合には以下のようなC言語のコードはコンパイルするとエラーとなる。
#define ZERO '/0'
if chaA == ZERO
警告: 複数文字からなる文字定数 [-Wmultichar]
iconvの変換方法としては、CP932 or IBM943を使う必要がある。
機種依存文字などを考慮すると、IBM943とすべき場合がある。
iconv -f SHIFT-JIS -t UTF-8 inputfile >outputfile
↓
iconv -f CP932 -t UTF-8 inputfile >outputfile
または
iconv -f IBM943 -t UTF-8 inputfile >outputfile
コメント
コメントを投稿