- 421 名前:nobodyさん mailto:sage [2007/10/23(火) 15:27:18 ID:???]
- Perlのテキスト処理で質問させてください。
UTF8な日本語テキストの半角カナを全角にしたいと思ってEncode::JP::H2Zを使おうと思いました。 しかし、一部の文字(〜など)がEUCに変換する段階で?に変換されてしまい、困ってしまいました。 とりあえず、コードポイントにフォールバックできることがわかったので、 以下のように書いてその場をしのぎましたが、コードポイントを検索して文字に置換するという 作業が入ってしまい(しかも無駄に複雑)、どうもしっくりきません。 もっと簡単にする方法はありますか? $text = encode("eucjp", $text, Encode::FB_PERLQQ); # EUCに変換 Encode::JP::H2Z::h2z(\$text); # 全角変換 $text = decode("eucjp", $text); $text =~ s/\\x\{([0-9A-Fa-f]+)\}/pack("U*", hex($1))/eg; # コードポイントを文字に
|

|