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





コメント

人気の投稿