くれすのPerl日記 このページをアンテナに追加 RSSフィード

この日記の方針。

  1. この日記では、超初心者向けの内容は取り扱っておりません。モジュールの利用など、実践的な内容が中心となります。
  2. ここに貼られるソースは、基本的にそのままでは動かないものばかりです。各自の責任でご利用ください。
  3. 内容が間違っていることがあります。その際はご指摘いただけるとありがたいです。「検証してみたら違う結果が出た」などの報告も大歓迎です。
  4. perl -e die

2008-10-23 (Thu)Jcodeに依存しすぎ

[] Encodeで全角半角変換 19:22  Encodeで全角半角変換 - くれすのPerl日記 を含むブックマーク はてなブックマーク -  Encodeで全角半角変換 - くれすのPerl日記  Encodeで全角半角変換 - くれすのPerl日記 のブックマークコメント

use Jcode;
&Jcode::convert($string, 'euc', 'sjis', 'z');

Shift_JISな文字列をEUC-JPに変換しつつ、半角カナを全角カナに置き換える処理。

こんなのが未だに残っていて、うまいこと置き換えたいところ。

use Encode;
use Encode::JP::H2Z;
Encode::from_to($string, 'shift_jis', 'euc-jp');
Encode::JP::H2Z::h2z(\$string);

これでよし。

滅多にないと思うけど、全角を半角にするなら以下のような感じ。

Encode::JP::H2Z::z2h(\$string);

事例がほとんど見つからないあたり、全角半角変換自体が今時流行らないのか、それともUnicode::Japaneseを使うほうが主流なのか。謎。

tokuhiromtokuhirom2008/10/24 08:10Lingua::JA::Regular::Unicode というモジュールをつかうと、unicode でも全角半角変換できます

CressCress2008/11/25 23:54返信遅くなりまして。
これでいけそうですね。ただ、Encodeと違って標準モジュールではないのがちょっと使いにくい感じです。
まあ、UTF-8メインになってくると、全角半角変換自体ほとんどやらないのが実情です。

トラックバック - http://perl.g.hatena.ne.jp/Cress/20081023