530 lines
21 KiB
Diff
530 lines
21 KiB
Diff
|
|
--- Jcode-2.07/Jcode/Nihongo.pod 2005-02-19 06:50:14.000000000 +0000
|
|||
|
|
+++ Jcode-2.07/Jcode/Nihongo.pod 2011-06-28 09:56:30.365310693 +0100
|
|||
|
|
@@ -1,77 +1,77 @@
|
|||
|
|
-=encoding euc-jp
|
|||
|
|
+=encoding utf8
|
|||
|
|
|
|||
|
|
-=head1 ̾<><CCBE>
|
|||
|
|
+=head1 名前
|
|||
|
|
|
|||
|
|
-Jcode - <20><><EFBFBD>ܸ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><CFA5>ɥ<EFBFBD>
|
|||
|
|
+Jcode - 日本語文字集合ハンドラ
|
|||
|
|
|
|||
|
|
-=head1 <20><><EFBFBD><EFBFBD>
|
|||
|
|
+=head1 概要
|
|||
|
|
|
|||
|
|
use Jcode;
|
|||
|
|
#
|
|||
|
|
- # <20>ż<EFBFBD><C5BC>椫<EFBFBD><E6A4AB><EFBFBD><EFBFBD>
|
|||
|
|
+ # 古式ゆかしく
|
|||
|
|
Jcode::convert($str, $ocode, $icode, "z");
|
|||
|
|
- # <20>⤷<EFBFBD><E2A4B7><EFBFBD>ϥ<EFBFBD><CFA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȼظ<C8BB><D8B8>ǡ<EFBFBD>
|
|||
|
|
+ # もしくはオブジェクト指向で!
|
|||
|
|
print Jcode->new($str)->h2z->tr($from, $to)->utf8;
|
|||
|
|
|
|||
|
|
-=head1 <20><><EFBFBD><EFBFBD>
|
|||
|
|
+=head1 説明
|
|||
|
|
|
|||
|
|
-Jcode.pm<70>ϥ<EFBFBD><CFA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʥ<EFBFBD><CAA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD>褫<EFBFBD><E8A4AB><EFBFBD>Υ<EFBFBD><CEA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD><C8A4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>ʥ<EFBFBD><CAA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD>ǡ<EFBFBD>
|
|||
|
|
+Jcode.pmはオブジェクト的なアプローチと従来からのアプローチの両方を
|
|||
|
|
+サポートしています。オブジェクト的なアプローチを使えばこんな感じで;
|
|||
|
|
|
|||
|
|
$iso_2022_jp = Jcode->new($str)->h2z->jis;
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꥨ<EFBFBD>쥬<EFBFBD><ECA5AC><EFBFBD>ȤǤ<C8A4><C7A4>礦<EFBFBD><E7A4A6>
|
|||
|
|
+こちらよりエレガントでしょう:
|
|||
|
|
|
|||
|
|
$iso_2022_jp = $str;
|
|||
|
|
&jcode::convert(\$iso_2022_jp, 'jis', &jcode::getcode(\$str), "z");
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ͤΤ<CDA4><CEA4><EFBFBD><EFBFBD>ˡ<EFBFBD>Jcode.pm<70>Ϥޤ<CFA4>C<getcode()><3E><>
|
|||
|
|
-C<convert()><3E>ݡ<F2A5B5A5><DDA1>Ȥ<EFBFBD><C8A4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+オブジェクトに馴染みの無い人のために、Jcode.pmはまだC<getcode()>と
|
|||
|
|
+C<convert()>をサポートしています。
|
|||
|
|
|
|||
|
|
-Perl<72>ΥС<CEA5><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>5.8.1<EFBFBD>ʾ<EFBFBD><EFBFBD>ʤ顢Jcode<EFBFBD>ϡ<EFBFBD>Perl 5.8<EFBFBD>ʹߤ<EFBFBD>ɸ<EFBFBD><EFBFBD>Ū<EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D>ϥ<EFBFBD><CFA5>ɥ<EFBFBD><C9A5>⥸<EFBFBD>塼<EFBFBD><E5A1BC><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>L<Encode><3E>Υ<EFBFBD><CEA5>åѡ<C3A5><D1A1>Ȥ<EFBFBD><C8A4>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD>ޤ<F1A4A4A4><DEA4><EFBFBD>
|
|||
|
|
+Perlのバージョンが5.8.1以上なら、Jcodeは、Perl 5.8以降の標準的な文字集合
|
|||
|
|
+ハンドラモジュールであるL<Encode>のラッパーとして振る舞います。
|
|||
|
|
|
|||
|
|
-=head1 <20><EFBFBD>å<EFBFBD>
|
|||
|
|
+=head1 メソッド
|
|||
|
|
|
|||
|
|
-<2D>ä˸<C3A4><CBB8>ڤ<EFBFBD><DAA4>ʤ<EFBFBD><CAA4>¤ꡢ<C2A4><EAA1A2><EFBFBD><EFBFBD><EFBFBD>ǵ<C7B5><F3A4B2A4><EFBFBD>åɤ<C3A5><C9A4><EFBFBD><EFBFBD><EFBFBD>Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+特に言及しない限り、ここで挙げるメソッドは全てJcodeオブジェクトを返します。
|
|||
|
|
|
|||
|
|
-=head2 <20><><EFBFBD>ȥ饯<C8A5><E9A5AF>
|
|||
|
|
+=head2 コンストラクタ
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $j = Jcode-E<gt>new($str [, $icode])
|
|||
|
|
|
|||
|
|
-$str<74><72><EFBFBD><EFBFBD>Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$j<><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA>$icode<64>åȤ<C3A5><C8A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>С<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD>ϥ<EFBFBD><CFA5><EFBFBD><EFBFBD>ɤϼ<C9A4>ưŪ<C6B0><C5AA>Ƚ<EFBFBD>ꤵ<EFBFBD><EAA4B5><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD>ǽ<EFBFBD><C7BD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤĤ<CBA4><C4A4>Ƥϡ<C6A4><CFA1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-L<getcode><3E>Ȥ<F2BBB2BE><C8A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+$strからJcodeオブジェクト$jを生成します。明示的に$icodeをセットしなければ、
|
|||
|
|
+入力コードは自動的に判定されます。利用可能な文字集合については、下の
|
|||
|
|
+L<getcode>を参照してください。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD>C<$icode><3E>ˤ<EFBFBD>L<Encode><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
|||
|
|
-I<<3C>ɤ<EFBFBD><C9A4>ʥ<EFBFBD><CAA5><EFBFBD><F3A5B3A1>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD>̾><3E><><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、C<$icode>にはL<Encode>が理解できる
|
|||
|
|
+I<どんなエンコーディング名>も使えます。
|
|||
|
|
|
|||
|
|
$j = Jcode->new($european, 'iso-latin1');
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><F3B2BDA4><EFBFBD><EFBFBD>ȡ<EFBFBD>EUC<55><43><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>줿ʸ<ECA4BF><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-C<< print $j->euc >><3E>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>C<< print $j >><3E>ȤǤ<C8A4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+オブジェクトを文字列化すると、EUCに変換された文字列が返ります。ですから
|
|||
|
|
+C<< print $j->euc >>とする代わりに、C<< print $j >>とできます。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
-=item <20><><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD>
|
|||
|
|
+=item リファレンス渡し
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1>ʲ<EFBFBD><CAB2>Τ褦<CEA4>˥<EFBFBD><CBA5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><F3A5B9A4>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+スカラー値の代わりに、以下のようにリファレンスを渡せます。
|
|||
|
|
|
|||
|
|
Jcode->new(\$str);
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>Ϥۤ<CFA4><DBA4>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ޤ<F3A4B7A4><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ơ<EFBFBD>$str<74><72><EFBFBD>ͤ<EFBFBD><CDA4>Τ<EFBFBD><CEA4>Τ<EFBFBD>
|
|||
|
|
-<2D>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><CCA3>$str<74><72>jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>"tie<69><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22>ΤǤ<CEA4><C7A4>ˡ<EFBFBD>
|
|||
|
|
+これはほんの少し時間を節約します。その代償として、$strの値そのものが
|
|||
|
|
+変換されます(ある意味、$strはjcodeオブジェクトに"tieされる"のです)。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
=item $j-E<gt>set($str [, $icode])
|
|||
|
|
|
|||
|
|
-$j<><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$str<74>åȤ<C3A5><C8A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD>Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ȥ<EFBFBD><C8A4>Ȥ<EFBFBD><C8A4><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ʥ<EFBFBD><CAA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ȥ<D6A4><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤʤ<CBA4><CAA4>ޤ<EFBFBD><DEA4>ˡ<EFBFBD>
|
|||
|
|
+$jの内部文字列に$strをセットします。繰り返しJcodeオブジェクトを使うときに
|
|||
|
|
+便利です(オブジェクトを生成する時間とメモリの節約になります)。
|
|||
|
|
|
|||
|
|
- # mailbox<6F><78>SJIS<49><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>
|
|||
|
|
+ # mailboxをSJIS形式に変換
|
|||
|
|
my $jconv = new Jcode;
|
|||
|
|
$/ = 00;
|
|||
|
|
while(<>){
|
|||
|
|
@@ -80,19 +80,19 @@
|
|||
|
|
|
|||
|
|
=item $j-E<gt>append($str [, $icode]);
|
|||
|
|
|
|||
|
|
-$j<><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$str<74><72><EFBFBD>ä<EFBFBD><C3A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$jの内部文字列に$strを加えます。
|
|||
|
|
|
|||
|
|
=item $j = jcode($str [, $icode]);
|
|||
|
|
|
|||
|
|
-Jcode-E<gt>new() <20><>û<EFBFBD>̷<EFBFBD><CCB7><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2>Τ褦<CEA4>ˤǤ<CBA4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Jcode-E<gt>new() の短縮形。以下のようにできます;
|
|||
|
|
|
|||
|
|
$sjis = jcode($str)->sjis;
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head2 ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><F3A5B3A1><EFBFBD>
|
|||
|
|
+=head2 文字列のエンコード
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD>̤ˡ<CCA4>$j-E<gt>I<encoded><3E>Ȥ<EFBFBD><C8A4>뤳<EFBFBD>Ȥ<EFBFBD>I<encoded><3E><><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>줿ʸ<ECA4BF><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+一般に、$j-E<gt>I<encoded>とすることでI<encoded>に変換された文字列を得ます。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
@@ -108,268 +108,268 @@
|
|||
|
|
|
|||
|
|
=item $utf8 = $j-E<gt>utf8
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
|||
|
|
+自明でしょう。
|
|||
|
|
WYCIWYG = What you code is what you get :)
|
|||
|
|
|
|||
|
|
=item $iso_2022_jp = $j-E<gt>iso_2022_jp
|
|||
|
|
|
|||
|
|
-C<< $j->h2z->jis >><3E><>Ʊ<EFBFBD><C6B1><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
|||
|
|
-Ⱦ<>ѥ<EFBFBD><D1A5>ʤ϶<CAA4><CFB6><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+C<< $j->h2z->jis >>と同じです。
|
|||
|
|
+半角カナは強制的に全角に変換されます。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD>Encode<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>ʥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ѤǤ<D1A4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>㤨<EFBFBD>С<EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、Encodeがサポートするどんなエンコーディング名と
|
|||
|
|
+エイリアスでも利用できます。例えば:
|
|||
|
|
|
|||
|
|
- $european = $j->iso_latin1; # <20><EFBFBD>å<EFBFBD>̾<EFBFBD>Ѥ<EFBFBD>'-'<27><>'_'<27><><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>
|
|||
|
|
+ $european = $j->iso_latin1; # メソッド名用に'-'は'_'に置き換えます
|
|||
|
|
|
|||
|
|
-B<<3C><><EFBFBD><EFBFBD>><3E><>L<Encode::Encoder><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+B<参考>:L<Encode::Encoder>がこれと同じ小技を使っています。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $j-E<gt>fallback($fallback)
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD>Jcode<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UTF-8<><38><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-I<< -E<gt>encoding >><3E>˥ޥåפǤ<D7A4><C7A4>ʤ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>'?'<27><><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>L<Encode><3E>Ǥ<EFBFBD>ɸ<EFBFBD><C9B8>ư<EFBFBD><C6B0><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
|||
|
|
-
|
|||
|
|
- my $unistr = "\x{262f}"; # <20><><EFBFBD>ۥޡ<DBA5><DEA1><EFBFBD>
|
|||
|
|
- my $j = jcode($unistr); # $j->euc <20>η<EFBFBD><CEB7>̤<EFBFBD> '?' <20><>
|
|||
|
|
-
|
|||
|
|
-<2D><><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD>ϡ<F1A4A4A4>L<Encode>Ʊ<>͡<EFBFBD><CDA1>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>ѹ<EFBFBD><D1B9>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-<2D>ͤ<EFBFBD>L<Encode><3E>Τ<EFBFBD><CEA4>ΤȰ<CEA4><C8B0><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ص<EFBFBD><D8B5>Τ<EFBFBD><CEA4>ᡢC<Jcode::FB_PERLQQ><3E><>
|
|||
|
|
-C<Jcode::FB_XMLCREF><3E><>C<Jcode::FB_HTMLCREF><3E><>L<Encode><3E>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؤ<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ꥢ<EFBFBD><EAA5A2><EFBFBD>ˤʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、Jcodeは内部の文字列をUTF-8で保持します。
|
|||
|
|
+I<< -E<gt>encoding >>にマップできない文字は'?'に置き換えられますが、
|
|||
|
|
+これはL<Encode>での標準動作です。
|
|||
|
|
+
|
|||
|
|
+ my $unistr = "\x{262f}"; # 陰陽マーク
|
|||
|
|
+ my $j = jcode($unistr); # $j->euc の結果は '?' に
|
|||
|
|
+
|
|||
|
|
+この振る舞いは、L<Encode>同様、フォールバックを指定することで変更できます。
|
|||
|
|
+値はL<Encode>のものと一緒です。便宜のため、C<Jcode::FB_PERLQQ>、
|
|||
|
|
+C<Jcode::FB_XMLCREF>、C<Jcode::FB_HTMLCREF>がL<Encode>のそれらへの
|
|||
|
|
+エイリアスになっています。
|
|||
|
|
|
|||
|
|
print $j->fallback(Jcode::FB_PERLQQ)->euc; # '\x{262f}'
|
|||
|
|
print $j->fallback(Jcode::FB_XMLCREF)->euc; # '☯'
|
|||
|
|
print $j->fallback(Jcode::FB_HTMLCREF)->euc; # '☯'
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Х<EFBFBD><D0A5>ѿ<EFBFBD>C<$Jcode::FALLBACK><3E>˥ǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȤΥե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5><EFBFBD><EFBFBD>ݻ<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥǥ<C8A4><C7A5><EFBFBD><EFBFBD>С<EFBFBD><D0A1>饤<EFBFBD>ɤǤ<C9A4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+グローバル変数C<$Jcode::FALLBACK>にデフォルトのフォールバックが保持
|
|||
|
|
+されていますので、この値を代入することでオーバーライドできます。
|
|||
|
|
|
|||
|
|
- $Jcode::FALLBACK = Jcode::FB_PERLQQ; # <20>ǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȤΥե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Хå<D0A5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+ $Jcode::FALLBACK = Jcode::FB_PERLQQ; # デフォルトのフォールバックスキーマを設定
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
=item [@lines =] $jcode-E<gt>jfold([$width, $newline_str, $kref])
|
|||
|
|
|
|||
|
|
-$width<74>ʥǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȡ<EFBFBD>72<37><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>jcodeʸ<65><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ιԤ<CEB9><D4A4>ޤ<EFBFBD><DEA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-$width<74>ϡ<EFBFBD>Ⱦ<EFBFBD>ѡ<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ο<EFBFBD><CEBF>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>2ʸ<32><CAB8><EFBFBD>Ȥ<EFBFBD><C8A4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$width(デフォルト:72)毎にjcode文字列内の行を折り返します。
|
|||
|
|
+$widthは”半角”文字の数です。全角文字は2文字としてカウントします。
|
|||
|
|
|
|||
|
|
-$newline_str<74>ʥǥե<C7A5><D5A5><EFBFBD><EFBFBD>Ȥ<EFBFBD>"\n"<22>ˤǻ<CBA4><C7BB>ꤵ<EFBFBD>줿<EFBFBD><ECA4BF><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-<2D>ޤ<EFBFBD><DEA4>֤<EFBFBD><D6A4>줿<EFBFBD><ECA4BF><EFBFBD>Ԥ<EFBFBD><D4A4>ꥹ<EFBFBD>Ȥ<EFBFBD><C8A4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$newline_str(デフォルトは"\n")で指定された改行文字が加わります。
|
|||
|
|
+折り返された全行をリストで返します。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤ<EFBFBD>3<EFBFBD><EFBFBD><EFBFBD>ܤΰ<EFBFBD><EFBFBD><EFBFBD>$kref<65><66>EUC<55><43>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>Ȥǡ<C8A4><C7A1>ʰ<EFBFBD>Ū<EFBFBD>ʹ<EFBFBD>Ƭ<EFBFBD><C6AC>§<EFBFBD><C2A7><EFBFBD><EFBFBD><EFBFBD>ʤ֤鲼<D6A4><E9B2BC><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>Ԥ<EFBFBD><D4A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降は3番目の引数$krefにEUCの文字列の配列リファレンスを
|
|||
|
|
+渡すことで、簡易的な行頭禁則処理(ぶら下がり)を行えます。
|
|||
|
|
|
|||
|
|
=item $length = $jcode-E<gt>jlength();
|
|||
|
|
|
|||
|
|
-<2D>Х<EFBFBD><D0A5><EFBFBD>Ĺ<EFBFBD>ǤϤʤ<CFA4><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>Ȥ<EFBFBD><C8A4>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+バイト長ではなく、全角文字も一文字として数えた場合の文字数を返します。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head2 MIME::Base64<36><34><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>å<EFBFBD>
|
|||
|
|
+=head2 MIME::Base64を使うメソッド
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>Υ<CEA5>åɤ<C3A5><C9A4>Ȥ<EFBFBD><C8A4>ˤϡ<CBA4>L<MIME::Base64><3E><>ɬ<EFBFBD>פǤ<D7A4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<F3A5B9A5><C8A1><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD>
|
|||
|
|
+下記のメソッドを使うには、L<MIME::Base64>が必要です。インストールは単純に
|
|||
|
|
|
|||
|
|
perl -MCPAN -e 'CPAN::Shell->install("MIME::Base64")'
|
|||
|
|
|
|||
|
|
-<2D>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>Perl<72><6C>5.6<EFBFBD>ʹߤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ顢L<MIME::Base64><3E><>
|
|||
|
|
-<2D>Х<EFBFBD><D0A5>ɥ뤵<C9A5><EBA4B5><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>Τǡ<CEA4><C7A1><EFBFBD><EFBFBD>ȡ<F3A5B9A5><C8A1><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פϤ<D7A4><CFA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+とします。お使いのPerlが5.6以降であるなら、L<MIME::Base64>は
|
|||
|
|
+バンドルされているので、インストールの必要はありません。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $mime_header = $j-E<gt>mime_encode([$lf, $bpl])
|
|||
|
|
|
|||
|
|
-$str<74><72>RFC1522<32>ˤ<EFBFBD><CBA4><EFBFBD>MIME-Header<65><72><EFBFBD>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>$lf<6C><66><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EAA4B9><EFBFBD>ȡ<EFBFBD>
|
|||
|
|
-<2D>Ԥ<EFBFBD><D4A4>ޤ<EFBFBD><DEA4>֤<EFBFBD><D6A4><EFBFBD>$lf<6C><66><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>ʥǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȡ<EFBFBD>\n<>ˡ<EFBFBD>
|
|||
|
|
-$bpl<70><6C><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EAA4B9><EFBFBD>ȡ<EFBFBD><C8A1>ޤ<EFBFBD><DEA4>֤<EFBFBD><D6A4>Х<EFBFBD><D0A5>ȿ<EFBFBD><C8BF><EFBFBD>$bpl<70><6C><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>ʥǥե<C7A5><D5A5><EFBFBD><EFBFBD>ȡ<EFBFBD>76<37><36>
|
|||
|
|
-<2D><><EFBFBD>ο<EFBFBD><CEBF>ͤ<EFBFBD>76<37>ʲ<EFBFBD><CAB2>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
|||
|
|
+$strをRFC1522にあるMIME-Headerに変換します。$lfを指定すると、
|
|||
|
|
+行の折り返しに$lfが使われます(デフォルト:\n)。
|
|||
|
|
+$bplを指定すると、折り返すバイト数に$bplが使われます(デフォルト:76;
|
|||
|
|
+この数値は76以下でなければなりません)。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ˤ<EFBFBD><EFBFBD>Ƥ<EFBFBD>MIME Header<65><72><EFBFBD><EFBFBD><F3A5B3A1>ɤ<EFBFBD><C9A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、以下のようにしてもMIME Headerエンコードができます:
|
|||
|
|
|
|||
|
|
$mime_header = $j->MIME_Header;
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD>C<$mime_header><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD>MIME-B-encoded UTF-8<>ˤʤ<CBA4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<< $j->mime_encode() >><3E><>MIME-B-encoded ISO-2022-JP<4A><50><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-<2D>Ƕ<EFBFBD><C7B6>ΤۤȤ<DBA4><C8A4>ɤΥ<CEA5>顼<EFBFBD>Ϥɤ<CFA4><C9A4><EFBFBD><EFBFBD>⥵<EFBFBD>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD><C8A4>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+この場合C<$mime_header>の戻り値はMIME-B-encoded UTF-8になります。
|
|||
|
|
+一方、C<< $j->mime_encode() >>はMIME-B-encoded ISO-2022-JPを返します。
|
|||
|
|
+最近のほとんどのメーラーはどちらもサポートしています。
|
|||
|
|
|
|||
|
|
=item $j-E<gt>mime_decode;
|
|||
|
|
|
|||
|
|
-Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MIME-Header<65>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>ޤ<EFBFBD><DEA4><EFBFBD>Perl 5.8.1
|
|||
|
|
-<2D>ʹߤʤ顢<CAA4>ʲ<EFBFBD><CAB2>Τ褦<CEA4>ˤ<EFBFBD><CBA4><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Jcodeオブジェクトの内部文字列をMIME-Headerデコードします。Perl 5.8.1
|
|||
|
|
+以降なら、以下のようにして同じことができます:
|
|||
|
|
|
|||
|
|
Jcode->new($str, 'MIME-Header');
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE>硢ISO-2022-JP<4A><50><EFBFBD><EFBFBD><EFBFBD>ǤϤʤ<CFA4>UTF-8<>ʤɤˤ<C9A4><CBA4>б<EFBFBD><D0B1><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ꡢ
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MIME B Encoding<6E>Τߤʤ餺MIME Q Encoding<6E>ˤ<EFBFBD><CBA4>б<EFBFBD><D0B1><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD>
|
|||
|
|
-<2D>Τǡ<CEA4>Perl 5.8.1<EFBFBD>ʹߤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
|||
|
|
+こちらの場合、ISO-2022-JPだけではなくUTF-8などにも対応しており、
|
|||
|
|
+さらにMIME B EncodingのみならずMIME Q Encodingにも対応している
|
|||
|
|
+ので、Perl 5.8.1以降であればこちらを使うべきでしょう。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head2 Ⱦ<><C8BE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
|
+=head2 半角 ←→ 全角
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $j-E<gt>h2z([$keep_dakuten])
|
|||
|
|
|
|||
|
|
-X201<30><31><EFBFBD>ʡ<EFBFBD>Ⱦ<EFBFBD>ѡˤ<D1A1>X208<30><38><EFBFBD>ʡ<EFBFBD><CAA1><EFBFBD><EFBFBD>ѡˤ<D1A1><CBA4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-$keep_dakuten<65>˿<EFBFBD><CBBF>ͤåȤ<C3A5><C8A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τޤޤˤ<DEA4><CBA4>ޤ<EFBFBD>
|
|||
|
|
-(<28><><EFBFBD><EFBFBD><EFBFBD>ϤĤޤꡢ<DEA4>֥<EFBFBD><D6A5>ܡ<EFBFBD><DCA1>פϡ֥<CFA1><D6A5>פ<EFBFBD><D7A4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>줺<EFBFBD>ˤ<EFBFBD><CBA4>Τޤ<CEA4>
|
|||
|
|
-<2D>ˤʤ<CBA4><CAA4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<C8A4>)
|
|||
|
|
+X201カナ(半角)をX208カナ(全角)に変換します。
|
|||
|
|
+$keep_dakutenに真値をセットすると、濁点をそのままにします
|
|||
|
|
+(これはつまり、「カ+゛」は「ガ」に変換されずにそのまま
|
|||
|
|
+になるということです)
|
|||
|
|
|
|||
|
|
-$j->nmatch<63><68><EFBFBD>̤<EFBFBD><CCA4>ƥޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$j->nmatchを通じてマッチした数を取得できます。
|
|||
|
|
|
|||
|
|
=item $j-E<gt>z2h
|
|||
|
|
|
|||
|
|
-X208<30><38><EFBFBD>ʡ<EFBFBD><CAA1><EFBFBD><EFBFBD>ѡˤ<D1A1>X201<30><31><EFBFBD>ʡ<EFBFBD>Ⱦ<EFBFBD>ѡˤ<D1A1><CBA4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+X208カナ(全角)をX201カナ(半角)に変換します。
|
|||
|
|
|
|||
|
|
-$j->nmatch<63><68><EFBFBD>̤<EFBFBD><CCA4>ƥޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$j->nmatchを通じてマッチした数を取得できます。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head2 <20><><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ߥ<EFBFBD><DFA5>졼<EFBFBD><ECA1BC>
|
|||
|
|
+=head2 正規表現エミュレータ
|
|||
|
|
|
|||
|
|
-C<< -E<gt>m() >><3E><>C<< -E<gt>s() >><3E><><EFBFBD>Ȥ<EFBFBD><C8A4>ˤϡ<CBA4>Perl 5.8.1<EFBFBD>ʹߤ<EFBFBD>
|
|||
|
|
-ɬ<>פǤ<D7A4><C7A4><EFBFBD>
|
|||
|
|
+C<< -E<gt>m() >>とC<< -E<gt>s() >>を使うには、Perl 5.8.1以降が
|
|||
|
|
+必要です。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $j-E<gt>tr($from, $to, $opt);
|
|||
|
|
|
|||
|
|
-Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>C<tr/$from/$to/><3E><>Ŭ<EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD>$from<6F><6D>$to<74><6F>
|
|||
|
|
-EUC-JP<4A><50>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD>flag<EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD>UTF-8ʸ<38><CAB8><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+JcodeオブジェクトにC<tr/$from/$to/>を適用します。$fromと$toは
|
|||
|
|
+EUC-JPの文字列です。Perl 5.8.1以降では、flag付きのUTF-8文字列
|
|||
|
|
+も受け付けます。
|
|||
|
|
|
|||
|
|
-C<$opt><3E>åȤ<C3A5><C8A4><EFBFBD><EFBFBD>ȡ<EFBFBD>C<tr/$from/$to/$opt><3E><>Ŭ<EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>C<$opt><3E><>
|
|||
|
|
-'c'<27><>'d'<27><><EFBFBD>뤤<EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ߹<C8A4><DFB9>碌<EFBFBD>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD>Фʤ<D0A4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+C<$opt>をセットすると、C<tr/$from/$to/$opt>が適用されます。C<$opt>は
|
|||
|
|
+'c'、'd'あるいはそれらの組み合わせでなければなりません。
|
|||
|
|
|
|||
|
|
-$j->nmatch<63><68><EFBFBD>̤<EFBFBD><CCA4>ƥޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+$j->nmatchを通じてマッチした数を取得できます。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD>tr<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-E<gt>error_tr<74><72><EFBFBD>̤<EFBFBD><CCA4>ơ<EFBFBD>
|
|||
|
|
-$@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、trの形式に誤りのあった場合に-E<gt>error_trを通じて、
|
|||
|
|
+$@を取得できます。
|
|||
|
|
|
|||
|
|
-<2D>ʲ<EFBFBD><CAB2>Υ<CEA5>åɤ<C3A5>Perl 5.8.1<EFBFBD>ʹߤǤΤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+以下のメソッドはPerl 5.8.1以降でのみ利用可能です。
|
|||
|
|
|
|||
|
|
=item $j-E<gt>s($patter, $replace, $opt);
|
|||
|
|
|
|||
|
|
-<2D>ġ<EFBFBD><C4A1><EFBFBD>C<s/$pattern/$replace/$opt><3E><>Ŭ<EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD>C<$opt><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-Ʊ<><C6B1><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>Υ<EFBFBD><CEA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤĤ<CBA4><C4A4>Ƥ<EFBFBD>L<perlre><3E>Ȥ<F2BBB2BE><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+個々にC<s/$pattern/$replace/$opt>を適用します。C<$opt>は正規表現オプションと
|
|||
|
|
+同じです。正規表現のオプションについてはL<perlre>を参照ください。
|
|||
|
|
|
|||
|
|
-C<< $j->tr() >><3E><>C<< $j->s() >><3E>Ϥ<EFBFBD><CFA4>Υ<EFBFBD><CEA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC>Ȥ<EFBFBD><C8A4>֤<EFBFBD><D6A4>Τǡ<CEA4>
|
|||
|
|
-<2D>ʲ<EFBFBD><CAB2>Τ褦<CEA4><E8A4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+C<< $j->tr() >>、C<< $j->s() >>はそのオブジェクト自身を返すので、
|
|||
|
|
+以下のように操作を連結できます。
|
|||
|
|
|
|||
|
|
$j->tr("A-Z", "a-z")->s("foo", "bar");
|
|||
|
|
|
|||
|
|
=item [@match = ] $j-E<gt>m($pattern, $opt);
|
|||
|
|
|
|||
|
|
-C<m/$patter/$opt><3E><>Ŭ<EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<CEA5>åɤϡɥ<CFA1><C9A5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>֤<EFBFBD><D6A4>ʤ<EFBFBD><CAA4><EFBFBD>
|
|||
|
|
-<2D>Τǡ<CEA4>C<< $j->s() >><3E>Τ褦<CEA4>˥<CBA5>åɤ<C3A5>Ϣ<EFBFBD><CFA2><EFBFBD>Ǥ<EFBFBD><C7A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>դ<EFBFBD><D5A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+C<m/$patter/$opt>を適用します。このメソッドは”オブジェクトを返さない”
|
|||
|
|
+ので、C<< $j->s() >>のようにメソッドを連結できないことに注意してください。
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>η<EFBFBD><CEB7><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>硢-E<gt>error_m<5F><6D>-E<gt>error_s<5F><73><EFBFBD>̤<EFBFBD><CCA4><EFBFBD>
|
|||
|
|
-$@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+正規表現の形式に誤りのあった場合、-E<gt>error_m、-E<gt>error_sを通じて
|
|||
|
|
+$@を取得できます。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head2 <20><><EFBFBD><EFBFBD><F3A5B9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѿ<EFBFBD>
|
|||
|
|
+=head2 インスタンス変数
|
|||
|
|
|
|||
|
|
-<2D>⤷Jcode<64><65><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤΥ<C8A4><CEA5><EFBFBD><F3A5B9A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѿ<EFBFBD><D1BF>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ顢ľ<E9A1A2>ܤ<EFBFBD><DCA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤǤϤʤ<CFA4><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɤ<C3A5><C9A4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD>ʤ<EFBFBD><CAA4>줾OOP
|
|||
|
|
-<2D>Ǥ<EFBFBD><C7A4>ˡ<EFBFBD>
|
|||
|
|
-
|
|||
|
|
-<2D><><EFBFBD>ͤޤǤˡ<C7A4>Jcode<64>ϡʰ<CFA1><CAB0><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD>ˡ<EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>˥ϥå<CFA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><F3A5B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><F3A5B9A4>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>Ȥǡ<C8A4><C7A1><EFBFBD><EFBFBD>ԡ<EFBFBD><D4A1>ɤ<EFBFBD><C9A4><EFBFBD>Ŭ<EFBFBD><C5AC><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>ʼºݤΤȤ<CEA4><C8A4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɤ<C3A5><C9A4>Ȥ<EFBFBD><C8A4>¤ꤳ<C2A4>Τ<EFBFBD><CEA4>Ȥ<EFBFBD><C8A4>Τ<EFBFBD>ɬ<EFBFBD>פϤ<D7A4><CFA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD> <20>⤦<EFBFBD><E2A4A6><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OOP<4F>ʤΤǤ<CEA4><C7A4>ˡ<EFBFBD>
|
|||
|
|
+もしJcodeオブジェクトのインスタンス変数にアクセスしたいなら、直接それら
|
|||
|
|
+にアクセスするのではなく、アクセスメソッドを利用しましょう(これぞOOP
|
|||
|
|
+です)。
|
|||
|
|
+
|
|||
|
|
+参考までに、Jcodeは(一般的な方法である)ハッシュリファレンスの代わりに、
|
|||
|
|
+配列リファレンスを使うことで、スピードを最適化しています(実際のところ、
|
|||
|
|
+アクセスメソッドを使う限りこのことを知る必要はありません; もう一度
|
|||
|
|
+いいますが、これはOOPなのです)。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤϡ<EFBFBD><EFBFBD>ϥå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>褦<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>ꡢJcode<64>γ<EFBFBD>ĥ<EFBFBD>Ϥ<EFBFBD><CFA4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ˤʤ<CBA4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降では、ハッシュリファレンスを使うように変更されました。
|
|||
|
|
+これにより、Jcodeの拡張はものすごく簡単になります。
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item $j-E<gt>r_str
|
|||
|
|
|
|||
|
|
-EUCʸ<43><CAB8><EFBFBD><EFBFBD><EFBFBD>ؤΥ<D8A4><CEA5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+EUC文字列へのリファレンス。
|
|||
|
|
|
|||
|
|
-Perl 5.8.1<EFBFBD>ʹߤǤ<EFBFBD>UTF-8<>ե饰<D5A5><E9A5B0>Ω<EFBFBD>ä<EFBFBD>UTF-8ʸ<38><CAB8><EFBFBD><EFBFBD><EFBFBD>ؤΥ<D8A4><CEA5>ե<EFBFBD><D5A5><EFBFBD><EFBFBD>Ǥ<F3A5B9A4><C7A4><EFBFBD>
|
|||
|
|
+Perl 5.8.1以降ではUTF-8フラグの立ったUTF-8文字列へのリファレンスです。
|
|||
|
|
|
|||
|
|
=item $j-E<gt>icode
|
|||
|
|
|
|||
|
|
-ľ<><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɡ<EFBFBD>
|
|||
|
|
+直近の操作における入力文字コード。
|
|||
|
|
|
|||
|
|
=item $j-E<gt>nmatch
|
|||
|
|
|
|||
|
|
-<2D>ޥå<DEA5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$j->tr<74><72><EFBFBD><EFBFBD><EFBFBD>Ȥä<C8A4><C3A4>Ȥ<EFBFBD><C8A4>ˡ<EFBFBD>
|
|||
|
|
+マッチした数($j->tr等を使ったとき)。
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head1 <20><><EFBFBD>֥롼<D6A5><EBA1BC><EFBFBD><EFBFBD>
|
|||
|
|
+=head1 サブルーチン
|
|||
|
|
|
|||
|
|
=over 2
|
|||
|
|
|
|||
|
|
=item ($code, [$nmatch]) = getcode($str)
|
|||
|
|
|
|||
|
|
-$str<74><72>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>֤륳<D6A4><EBA5B3><EFBFBD>ɤϰʲ<CFB0><CAB2><EFBFBD><EFBFBD>̤<EFBFBD><CCA4>Ǥ<EFBFBD><C7A4><EFBFBD>
|
|||
|
|
+$strの文字コードを返します。返るコードは以下の通りです。
|
|||
|
|
|
|||
|
|
- ascii Ascii <20><><EFBFBD><EFBFBD><EFBFBD>ܸ쥳<DCB8><ECA5B3><EFBFBD>ɤ<EFBFBD><C9A4>ޤޤʤ<DEA4><CAA4><EFBFBD>
|
|||
|
|
- binary Binary <20>ʥƥ<CAA5><C6A5><EFBFBD><EFBFBD>ȥե<C8A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǤϤʤ<CFA4><CAA4><EFBFBD>
|
|||
|
|
+ ascii Ascii (日本語コードを含まない)
|
|||
|
|
+ binary Binary (テキストファイルではない)
|
|||
|
|
euc EUC-JP
|
|||
|
|
sjis SHIFT_JIS
|
|||
|
|
jis JIS (ISO-2022-JP)
|
|||
|
|
ucs2 UCS2 (Raw Unicode)
|
|||
|
|
utf8 UTF8
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A5B3A5>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ȥ<EFBFBD><C8A4>ȡ<EFBFBD><C8A1><EFBFBD>ʸ<EFBFBD><CAB8>ʬ<EFBFBD><CAAC>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4>ä<EFBFBD><C3A4>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽҤ٤<D2A4><D9A4>褦<EFBFBD>ˡ<EFBFBD>$str<74><72>\$str
|
|||
|
|
-<2D>Ǥ<C7A4><E2B9BD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-
|
|||
|
|
-B<jcode.pl <20><><EFBFBD>ѼԤ<D1BC><D4A4><EFBFBD><EFBFBD>ء<EFBFBD>> <20><><EFBFBD>δؿ<CEB4><D8BF><EFBFBD>jcode::getcode()<29><>100%<25><><EFBFBD≯ߴ<CCB8><DFB4><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ۤ<EFBFBD>100%<25><>
|
|||
|
|
-
|
|||
|
|
- * <20><><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤȤ<CEA4><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD>֤ϵդȤʤ<C8A4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
- jcode::getcode()<29><>$nmatch<63><68><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-
|
|||
|
|
- * jcode::getcode()<29>ϡ<EFBFBD>EUCʸ<43><CAB8><EFBFBD><EFBFBD>SJISʸ<53><CAB8><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>'undef'<27><>
|
|||
|
|
- <20>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD> Jcode::getcode()<29><>EUC<55><43><EFBFBD>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Jcode.pm<70>ˤ<EFBFBD>
|
|||
|
|
- <20><><EFBFBD>֤<EFBFBD><D6A4>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
|||
|
|
+スカラーコンテキストの代わりに配列コンテキストを使うと、何文字分の
|
|||
|
|
+コードが見つかったのかも返します。上の方で述べたように、$strは\$str
|
|||
|
|
+でも構いません。
|
|||
|
|
+
|
|||
|
|
+B<jcode.pl 利用者の方へ:> この関数はjcode::getcode()と100%上位互換が
|
|||
|
|
+あります。――まあ、ほぼ100%;
|
|||
|
|
+
|
|||
|
|
+ * 戻り値が配列のとき、その順番は逆となります;
|
|||
|
|
+ jcode::getcode()は$nmatchを最初に返します。
|
|||
|
|
+
|
|||
|
|
+ * jcode::getcode()は、EUC文字とSJIS文字の数が等しいとき、'undef'を
|
|||
|
|
+ 返します。 Jcode::getcode()はEUCを返します。これはJcode.pmには
|
|||
|
|
+ 中間がないためです。
|
|||
|
|
|
|||
|
|
=item Jcode::convert($str, [$ocode, $icode, $opt])
|
|||
|
|
|
|||
|
|
-$str<74><72>$ocode<64>ǻ<EFBFBD><C7BB>ꤷ<EFBFBD><EAA4B7>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4>Ѵ<EFBFBD><D1B4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>$icode<64><65><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EAA4B9><EFBFBD>ȡ<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>getcode()<29>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>$icode<64>Ȳ<EFBFBD><C8B2>ꤷ<EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽҤ٤<D2A4><D9A4>褦<EFBFBD>ˡ<EFBFBD>$str<74><72>\$str<74>Ǥ<C7A4><E2B9BD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+$strを$ocodeで指定した文字コードに変換します。$icodeも指定すると、
|
|||
|
|
+入力文字列をgetcode()でチェックする代わりに、$icodeと仮定します。
|
|||
|
|
+上の方で述べたように、$strは\$strでも構いません。
|
|||
|
|
|
|||
|
|
-B<jcode.pl <20><><EFBFBD>ѼԤ<D1BC><D4A4><EFBFBD><EFBFBD>ء<EFBFBD>> <20><><EFBFBD>δؿ<CEB4><D8BF><EFBFBD>jcode::convert()<29><>100%<25><><EFBFBD≯ߴ<CCB8><DFB4><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+B<jcode.pl 利用者の方へ:> この関数はjcode::convert()と100%上位互換が
|
|||
|
|
+あります!
|
|||
|
|
|
|||
|
|
=back
|
|||
|
|
|
|||
|
|
-=head1 <20>Х<EFBFBD>
|
|||
|
|
+=head1 バグ
|
|||
|
|
|
|||
|
|
-Perl<72><6C>5.8.1<EFBFBD>ʹߤξ<EFBFBD><EFBFBD>硢Jcode<EFBFBD><EFBFBD>L<Encode><3E>Υ<EFBFBD><CEA5>åѡ<C3A5><D1A1>Ȥ<EFBFBD><C8A4>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD>ޤ<F1A4A4A4><DEA4><EFBFBD>
|
|||
|
|
-<2D>ĤޤꡢJcode<64><65>Encode<64><65><EFBFBD>ΥХ<CEA5><D0A5>αƶ<CEB1><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+Perlが5.8.1以降の場合、JcodeはL<Encode>のラッパーとして振る舞います。
|
|||
|
|
+つまり、JcodeはEncode内のバグの影響を受けます。
|
|||
|
|
|
|||
|
|
-=head1 <20>ռ<EFBFBD>
|
|||
|
|
+=head1 謝辞
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD>Υѥå<D1A5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><F3A4BDA4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ɤ<EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <utashiro@iij.ad.jp><3E><><EFBFBD><EFBFBD>Perl4<6C>饤<EFBFBD>֥<EFBFBD><D6A5><EFBFBD>jcode.pl<70><6C><EFBFBD><EFBFBD><EFBFBD>äƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|||
|
|
+このパッケージは、動機、デザインそしてコードの多くの点で、
|
|||
|
|
+歌代 和正 <utashiro@iij.ad.jp>氏のPerl4ライブラリjcode.plに負っています。
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <ohzaki@iod.ricoh.co.jp><3E><><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD>ȯ<EFBFBD><C8AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʳ<EFBFBD><CAB3><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1A4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<F2A4B7A4><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+大崎 博基 <ohzaki@iod.ricoh.co.jp>氏は、開発の非常に初期の段階から
|
|||
|
|
+正規表現を磨きあげる手助けをしてくれました。
|
|||
|
|
|
|||
|
|
-makamaka@donzoko.net <20><> JEncode <20>ˤϡ<CBA4>Jcode<64><65>Encode<64><65><EFBFBD>ɤ<EFBFBD>ͻ<EFBFBD>礵<EFBFBD><E7A4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>礭<EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8>ޥ˥奢<CBA5><E5A5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
+makamaka@donzoko.net の JEncode には、JcodeとEncodeをどう融合させれば
|
|||
|
|
+いいか大変大きな啓示を受けました。また、本日本語マニュアルも寄贈して
|
|||
|
|
+いただきました。
|
|||
|
|
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Jcode ML <jcode5@ring.gr.jp><3E>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><F3A1A3A4><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>ʤ<EFBFBD><CAA4>ˤϡ<CBA4>
|
|||
|
|
-<2D><><EFBFBD><EFBFBD><EFBFBD>ޤǴ<DEA4><C7B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>ȤǤ<C8A4><C7A4>礦<EFBFBD><E7A4A6>
|
|||
|
|
+そしてJcode ML <jcode5@ring.gr.jp>の皆さん。この方達なしには、
|
|||
|
|
+ここまで完成しなかったことでしょう。
|
|||
|
|
|
|||
|
|
-=head1 <20><><EFBFBD><EFBFBD>
|
|||
|
|
+=head1 参考
|
|||
|
|
|
|||
|
|
L<Encode>
|
|||
|
|
|
|||
|
|
L<http://www.iana.org/assignments/character-sets>
|
|||
|
|
|
|||
|
|
-=head1 <20><><EFBFBD>
|
|||
|
|
+=head1 著作権
|
|||
|
|
|
|||
|
|
Copyright 1999-2005 Dan Kogai <dankogai@dan.co.jp>
|
|||
|
|
|