pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


中国語(簡体字)をUnicode (UTF-16LE)に変換

ある種の元データがGB2312エンコードとの説明を受けていて、それをちょっとした処理の都合上でUnicode(UTF-16LE)に変換しようとしたら変換できずにハマったのでメモしておく。

手元のマシンはWindows Subsystem for Linux入りなので、こういう文字コード変換はbashを起動して次のように実行する。

iconv -f GB2312 -t UTF-16LE ファイル名 > 出力ファイル名

しかし実際にやってみると iconv: illegal input sequence at position 132 というエラーが出て変換できない。 どうやら、GB2312といいつつGB18030の範囲の文字が含まれていたようなので、次のようにGB18030と指定して変換したら意図通りに動いた。

iconv -f GB18030 -t UTF-16LE ファイル名 > 出力ファイル名

なおUTF-16LE に変換できたところまでは良かったのだけど、実は UTF-8 のほうが目的に合致していたので再度変換しなおした。