[pod] [xml]

名前

Jcode - 日本語文字集合ハンドラ

概要

 use Jcode;
 # 
 # 従来の方法
 Jcode::convert(\$str, $ocode, $icode, "z");
 # あるいは OOP!
 print Jcode->new($str)->h2z->tr($from, $to)->utf8;

説明

Jcode.pmはオブジェクト的なアプローチと従来のアプローチの 両方をサポートしています。 オブジェクト的なアプローチでは以下のようにすることができます;

$iso_2022_jp = Jcode->new($str)->h2z->jis;

これは以下のものよりもエレガントでしょう;

$iso_2022_jp = &jcode::convert(\$str,'jis',jcode::getcode(\str), "z");

それでもオブジェクトに慣れていない人のために、Jcode.pmはgetcode()とconvert()を サポートしています。

メソッド

ここで説明されるメソッドは、何も説明がなければJcodeオブジェクトを返します。

MIME::Base64を使うメソッド

以下のメソッドを使うためには、MIME::Base64が必要です。インストールする ためには単に以下のようにするだけです

   perl -MCPAN -e 'CPAN::Shell->install("MIME::Base64")'

Jcode::H2Zによって実装されているメソッド

以下のメソッドは実際にはJcode::H2Zで実装されています。

Jcode::Trで実装されているメソッド

以下のメソッドは実際にはJcode::Trで実装されています。

Jcode::Unicodeで実装されているメソッド

あなたのperlがXSをサポートしていなければ(あるいはperl Makefile.PL ができないのであれば)、Jcode::Unicode::NoXSが使われます。

詳細についてはJcode::UnicodeJcode::Unicode::NoXSをご覧ください。

インスタンス変数

Jcodeオブジェクトのインスタンス変数にアクセスする必要があれば、 直接アクセスする代わりに、以下のアクセス・メソッドを使ってください。 (それこそOOPってもんです)

ちなみに、Jcodeは、速度を最適化するため(一般的な方法である)ハッシュへの リファレンスの代わりに配列へのリファレンスを使います。(実際には、 アクセス・メソッドを代わりに使っている限りは、知る必要はありません; もう一度いいますが、それがOOPなんです)

サブルーチン

バグ

JcodeによるUnicodeのサポートは効率的とはとても言えません!

今後

うまくいけば、JcodeはPerl5.7以上では標準モジュールの一部となる Encodeによって取って代わられることになるでしょう。

謝辞

This package owes a lot in motivation, design, and code, to the jcode.pl for Perl4 by Kazumasa Utashiro <utashiro@iij.ad.jp>.

Hiroki Ohzaki <ohzaki@iod.ricoh.co.jp> has helped me polish regexp from the very first stage of development.

And folks at Jcode Mailing list <jcode5@ring.gr.jp>. Without them, I couldn't have coded this far.

参考資料

Jcode::Unicode

Jcode::Unicode::NoXS

http://www.iana.org/assignments/character-sets

Encode

著作権(COPYRIGHT)

Copyright 1999 Dan Kogai <dankogai@dan.co.jp>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.