Ruby の方に http://bugs.ruby-lang.org/issues/7005 で報告したのですが、NKF の問題のようなのでこちらで。 NKF で CP50221 から CP932 に変換できない文字があります。 CP932 で 0xF040 から 0xF9FC までの文字のうち 589 文字が変換できません。 どうやら CP50221 で1バイト目が 0x80 以上で2バイト目が 0x21-0x3F の文字が変換できないようです。 % printf "\x1b\x24\x42\x7f\x21\x80\x21\x1b\x28\x42\n" | nkf --ic=CP50221 --oc=CP932 | od -tx1c 0000000 f0 40 0a 360 @ \n 0000003 7F21 は F040 に変換できていますが、8021 は F09F になるべきなのに落