2008年06月06日 12:00 [Edit]

perl/Encode - 7bit-jis != iso-2022-jp

ちょちょまwww

半角カナ対応 - UnderDone(あんでるどん)の落書き
IS2022JPの半角カナ対応 - perl-mongers.org
WIDE系 IRCで使われている、IS2022JPの(いわゆる)半角カナにはいろいろ種類がありますが、これをPerlでコード変換しようとした場合、Encodeモジュールではコード変換に失敗してしまいます。(2008年6月6日0:20追記:Encodeモジュールでは半角カナの認識に失敗するだけで他のコードは自動認識します)

それは、文字コードそのものが微妙ながら決定的に違うのです。


Encodeのマニュアルにもちゃんとこのことは書いてあります。

perldoc Encode::JP
  7bit-jis    /\bjis$/i         7bit JIS
  iso-2022-jp                   ISO-2022-JP                  [RFC1468]
                = 7bit JIS with all Halfwidth Kana 
                  converted to Fullwidth

半角カナをそのまま使いたかったら、7bit-jisiso-2022-jpの代わりに指定すればよいだけです。ちなみにjisは、7bit-jisの別名として扱われます。

Dan the Encode Maintainer


この記事へのトラックバックURL

この記事へのコメント
Windowsの機種依存文字 (丸文字とか) を表示させたい場合はEncode::EUCJPMSのCP50221もヨロシク、と一応
Posted by 成瀬 at 2008年06月06日 13:09