半角文字を全角文字に変更するには?

[上に] [前に] [次に]
じゅんじゅん 1999/11/23(火) 11:26:57
こんにちは。早速ご教授願いたいのですが、Perl上で半角文字を全角文字
に変更するのにはどうしたらよいのでしょうか?
以前に自分で関数を作ったのですが(地道にtrを使用し、一つずつ半角文字を
全角に変換するように)どうも半角カナ→全角カナの処理で文字ばけしてしま
うのです。なにかよい方法がありましたら教えて下さい。
おねがいします。

しなのむし 1999/11/23(火) 14:11:10
&jcode'h2z_xxx(*line);
jcode.plの関数にh2z_xxxというのがあります。

JIS X0201 KANA (so-called Hankaku-KANA) to X0208 KANA
(Zenkaku-KANA) code conversion routine.  String xxx is
any of "jis", "sjis" and "euc".  From the difficulty
of recognizing code set from 1-byte KATAKANA string,
automatic code recognition is not supported.

じゅんじゅん 1999/11/23(火) 15:35:56
jcode.plとはどこにあるんですか?また、その中の関数は直接ソースから
よんであげれば使用できるのですか?
常識的な質問でしたらすみません。perlは今回初めて使用する言語なんで・・・
それに免じてお許しください。

じゅんじゅん 1999/11/23(火) 15:40:43
jcode.plとはどこにあるんですか?また、その中の関数は直接ソースから
よんであげれば使用できるのですか?
常識的な質問でしたらすみません。perlは今回初めて使用する言語なんで・・・
それに免じてお許しください。

しなのむし 1999/11/23(火) 22:42:14
説明不足でしたか・・・(^^;
jcode.plというのは、日本語コード変換を行うための
Perlライブラリで以下で最新版が入手できます。
ftp://ftp.iij.ad.jp/pub/IIJ/dist/utashiro/perl/

まず、
require "jcode.pl";
と先に読み込んでから使います。

例えば
半角カタカナ文字を含む $line が sjis の場合、
&jcode'h2z_sjis(*line);
とやれば、$line の中身の半角カタカナ文字は
全角に変換されます。

>From the difficulty of recognizing code set
>from 1-byte KATAKANA string,
>automatic code recognition is not supported.

ということで
元が euc なら
&jcode'h2z_euc(*line);
とやって
結果も euc
という使い方しか出来ないようです。

じゅんじゅん 1999/11/25(木) 14:46:11
[[解決]]
ありがとうございます。しなのむしさん。
早速ためしてみようと思います。

[上に] [前に] [次に]