まとレスで失礼します。
dune <FZH01112@...> さん wrote.
> いつも思うのですが、Ruby が使える人は Ruby 最強ってかんじなの
> にどうして perl も使っちゃうんでしょ?
今まで作ってきたスクリプトが Perl だったり、世界中に存在しているスクリプ
トが Perl だから、それを元に、と考えると Perl なんじゃないですか。
> jcode.pl を使う。
> http://www.din.or.jp/~ohzaki/perl.htm#JP_Z2H
ここは詳しいですね。でもやはり、
EUC 漢字(JIS X 0208) "[\241-\376][\241-\376]"
EUC ASCII文字 "[\040-\176]"
EUC 半角カナ "\216[\241-\337]"
とかってそのまま書かなきゃならないのはちと面倒ですね。まあ、私はやれと言
われればやります……。jcode::tr は楽だし、問題ないかな。jcode::~/ みたい
なのがあるといいのだが……。
> 僕自身は UCS2 に変換して頭から2バイトずつ処理したり、SJIS
> のままで文字境界に \x00 入れたりしてます。長さ4文字以上の文
> 字列しか操作しない、ということなら漢字と ASCII の間に \x00
> を入れるだけでもほとんどOK(m// とかで \Q は使いますが)。
UCS2 への変換は、数式的な処理はできないので、文字コードのテーブルを参照
しての変換となり、かなりのオーバーヘッドが発生しますね。さらに、2 バイト
ずつ処理すればいいので少し楽とはいえ、文字コードの構造を知らないと変なこ
とになりそうだし、dune さんはともかく、誰でもできる方法ではないですね。
WATANABE Hirofumi <eban@...> さん wrote.
> Perl 5.8.0を使えば
>
> use encoding "euc-jp", Filter=>1;
> use utf8;
>
> でEUCを扱えます。
use utf8; の部分があるということは Jcode.pm とかで一旦 utf-8 にエンコー
ディングし、それから、EUC-JP のフィルタを使うのだとしたら、やはり jperl
時代より遅くなりますね……。
s/9/9/g;
がそのまま通ってくれれば、一応使えることは使えるけれど、やはり日本語デー
タ処理には ruby を使いたくなりますね。ruby は一度 Unicode へコンバートし
たりしてないですよね?
--
本田博通(閑舎)
Hiromichi Honda <raku@...>