Ubuntu Manpages

 use Jcode;
 # 
 # ?ż??椫????
 Jcode::convert($str, $ocode, $icode, "z");
 # ?⤷???ϥ??֥??????Ȼظ??ǡ?
 print Jcode->new($str)->h2z->tr($from, $to)->utf8;

Jcode.pm?ϥ??֥???????Ū?ʥ??ץ??????Ƚ??褫???Υ??ץ???????ξ???? ???ݡ??Ȥ??Ƥ??ޤ??????֥???????Ū?ʥ??ץ????????Ȥ??Ф????ʴ????ǡ?

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

?????????ꥨ?쥬???ȤǤ??礦??

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

???֥??????Ȥ??????ߤ?̵???ͤΤ????ˡ?Jcode.pm?Ϥޤ?"getcode()"?? "convert()"?򥵥ݡ??Ȥ??Ƥ??ޤ???

Perl?ΥС?????????5.8.1?ʾ??ʤ顢Jcode?ϡ?Perl 5.8?ʹߤ?ɸ??Ū??ʸ?????? ?ϥ??ɥ??⥸?塼???Ǥ???Encode?Υ??åѡ??Ȥ??ƿ????񤤤ޤ???

?ä˸??ڤ??ʤ??¤ꡢ?????ǵ󤲤??᥽?åɤ?????Jcode???֥??????Ȥ??֤??ޤ???

???󥹥ȥ饯??

$j = Jcode->new($str [, $icode])
$str????Jcode???֥???????$j?????????ޤ???????Ū??$icode?򥻥åȤ??ʤ????С? ???ϥ????ɤϼ?ưŪ??Ƚ?ꤵ???ޤ??????Ѳ?ǽ??ʸ???????ˤĤ??Ƥϡ????? getcode?򻲾Ȥ??Ƥ?????????

Perl 5.8.1?ʹߤǤϡ?$icode?ˤ?Encode???????Ǥ??? ?ɤ??ʥ??󥳡??ǥ?????̾???Ȥ??ޤ???

  $j = Jcode->new($european, 'iso-latin1');
    

???֥??????Ȥ?ʸ???󲽤????ȡ?EUC???Ѵ????줿ʸ???????֤??ޤ????Ǥ????? "print $j->euc"?Ȥ??????????ˡ?"print $j"?ȤǤ??ޤ???

???ե????????Ϥ?
?????顼?ͤ????????ˡ??ʲ??Τ褦?˥??ե????󥹤??Ϥ??ޤ???

 Jcode->new(\$str);
    

?????Ϥۤ??ξ??????֤????󤷤ޤ????????????Ȥ??ơ?$str???ͤ??Τ??Τ? ?Ѵ??????ޤ??ʤ?????̣??$str??jcode???֥??????Ȥ?"tie??????"?ΤǤ??ˡ?

$j->set($str [, $icode])
$j??????ʸ??????$str?򥻥åȤ??ޤ????????֤?Jcode???֥??????Ȥ??Ȥ??Ȥ??? ?????Ǥ??ʥ??֥??????Ȥ????????????֤ȥ????????????ˤʤ??ޤ??ˡ?

 # mailbox??SJIS???????Ѵ?
 my $jconv = new Jcode;
 $/ = 00;
 while(<>){
     print $jconv->set(\$_)->mime_decode->sjis;
 }
    
$j->append($str [, $icode]);
$j??????ʸ??????$str???ä??ޤ???
$j = jcode($str [, $icode]);
Jcode->new() ??û?̷????ʲ??Τ褦?ˤǤ??ޤ???

 $sjis = jcode($str)->sjis;
    

ʸ?????Υ??󥳡???

???̤ˡ?$j->encoded?Ȥ??뤳?Ȥ?encoded???Ѵ????줿ʸ?????????ޤ???

$sjis = $j->sjis
$euc = $j->euc
$jis = $j->jis
$sjis = $j->sjis
$ucs2 = $j->ucs2
$utf8 = $j->utf8
?????Ǥ??礦?? WYCIWYG = What you code is what you get :)
$iso_2022_jp = $j->iso_2022_jp
"$j->h2z->jis"??Ʊ???Ǥ??? Ⱦ?ѥ??ʤ϶???Ū?????Ѥ??Ѵ??????ޤ???

Perl 5.8.1?ʹߤǤϡ?Encode?????ݡ??Ȥ????ɤ??ʥ??󥳡??ǥ?????̾?? ?????ꥢ???Ǥ????ѤǤ??ޤ????㤨?С?

  $european = $j->iso_latin1; # ?᥽?å?̾?Ѥ?'-'??'_'???֤??????ޤ?
    

??????Encode::Encoder????????Ʊ?????????ȤäƤ??ޤ???

$j->fallback($fallback)
Perl 5.8.1?ʹߤǤϡ?Jcode????????ʸ??????UTF-8???ݻ????ޤ??? ->encoding?˥ޥåפǤ??ʤ?ʸ????'?'???֤??????????ޤ????? ??????Encode?Ǥ?ɸ??ư???Ǥ???

  my $unistr = "\x{262f}"; # ???ۥޡ???
  my $j = jcode($unistr);  # $j->euc ?η??̤? '?' ??
    

???ο????񤤤ϡ?EncodeƱ?͡??ե??????Хå??????ꤹ?뤳?Ȥ??ѹ??Ǥ??ޤ??? ?ͤ?Encode?Τ??ΤȰ????Ǥ????ص??Τ??ᡢ"Jcode::FB_PERLQQ"?? "Jcode::FB_XMLCREF"??"Jcode::FB_HTMLCREF"??Encode?Τ??????ؤ? ?????ꥢ???ˤʤäƤ??ޤ???

  print $j->fallback(Jcode::FB_PERLQQ)->euc;   # '\x{262f}'
  print $j->fallback(Jcode::FB_XMLCREF)->euc;  # '&#x262f;'
  print $j->fallback(Jcode::FB_HTMLCREF)->euc; # '&#9775;'
    

???????Х??ѿ?$Jcode::FALLBACK?˥ǥե????ȤΥե??????Хå????ݻ? ?????Ƥ??ޤ??Τǡ??????ͤ????????뤳?Ȥǥ????С??饤?ɤǤ??ޤ???

  $Jcode::FALLBACK = Jcode::FB_PERLQQ; # ?ǥե????ȤΥե??????Хå????????ޤ?????
    
[@lines =] $jcode->jfold([$width, $newline_str, $kref])
$width?ʥǥե????ȡ?72??????jcodeʸ???????ιԤ??ޤ??֤??ޤ??? $width?ϡ?Ⱦ?ѡ?ʸ???ο??Ǥ???????ʸ????2ʸ???Ȥ??ƥ??????Ȥ??ޤ???

$newline_str?ʥǥե????Ȥ?"\n"?ˤǻ??ꤵ?줿????ʸ?????ä????ޤ??? ?ޤ??֤??줿???Ԥ??ꥹ?Ȥ??֤??ޤ???

Perl 5.8.1?ʹߤ?3???ܤΰ???$kref??EUC??ʸ?????????????ե????󥹤? ?Ϥ????Ȥǡ??ʰ?Ū?ʹ?Ƭ??§?????ʤ֤鲼?????ˤ??Ԥ??ޤ???

$length = $jcode->jlength();
?Х???Ĺ?ǤϤʤ???????ʸ??????ʸ???Ȥ??ƿ???????????ʸ???????֤??ޤ???

MIME::Base64???Ȥ??᥽?å?

?????Υ᥽?åɤ??Ȥ??ˤϡ?MIME::Base64??ɬ?פǤ??????󥹥ȡ?????ñ????

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

?Ȥ??ޤ??????Ȥ???Perl??5.6?ʹߤǤ????ʤ顢MIME::Base64?? ?Х??ɥ뤵???Ƥ????Τǡ????󥹥ȡ?????ɬ?פϤ????ޤ?????

$mime_header = $j->mime_encode([$lf, $bpl])
$str??RFC1522?ˤ???MIME-Header???Ѵ????ޤ???$lf?????ꤹ???ȡ? ?Ԥ??ޤ??֤???$lf???Ȥ????ޤ??ʥǥե????ȡ?\n?ˡ? $bpl?????ꤹ???ȡ??ޤ??֤??Х??ȿ???$bpl???Ȥ????ޤ??ʥǥե????ȡ?76?? ???ο??ͤ?76?ʲ??Ǥʤ????Фʤ??ޤ????ˡ?

Perl 5.8.1?ʹߤǤϡ??ʲ??Τ褦?ˤ??Ƥ?MIME Header???󥳡??ɤ??Ǥ??ޤ???

  $mime_header = $j->MIME_Header;
    

???ξ???$mime_header???????ͤ?MIME-B-encoded UTF-8?ˤʤ??ޤ??? ??????"$j->mime_encode()"??MIME-B-encoded ISO-2022-JP???֤??ޤ??? ?Ƕ??ΤۤȤ??ɤΥ᡼?顼?Ϥɤ????⥵?ݡ??Ȥ??Ƥ??ޤ???

$j->mime_decode;
Jcode???֥??????Ȥ?????ʸ??????MIME-Header?ǥ????ɤ??ޤ???Perl 5.8.1 ?ʹߤʤ顢?ʲ??Τ褦?ˤ???Ʊ?????Ȥ??Ǥ??ޤ???

  Jcode->new($str, 'MIME-Header');
    

???????ξ??硢ISO-2022-JP?????ǤϤʤ?UTF-8?ʤɤˤ??б????Ƥ??ꡢ ??????MIME B Encoding?Τߤʤ餺MIME Q Encoding?ˤ??б????Ƥ??? ?Τǡ?Perl 5.8.1?ʹߤǤ????Ф????????Ȥ??٤??Ǥ??礦??

Ⱦ?? ???? ????

$j->h2z([$keep_dakuten])
X201???ʡ?Ⱦ?ѡˤ?X208???ʡ????ѡˤ??Ѵ????ޤ??? $keep_dakuten?˿??ͤ򥻥åȤ????ȡ??????򤽤Τޤޤˤ??ޤ? (?????ϤĤޤꡢ?֥??ܡ??פϡ֥??פ??Ѵ????줺?ˤ??Τޤ? ?ˤʤ??Ȥ??????ȤǤ?)

$j->nmatch???̤??ƥޥå??????????????Ǥ??ޤ???

$j->z2h
X208???ʡ????ѡˤ?X201???ʡ?Ⱦ?ѡˤ??Ѵ????ޤ???

$j->nmatch???̤??ƥޥå??????????????Ǥ??ޤ???

????ɽ?????ߥ??졼??

"->m()"??"->s()"???Ȥ??ˤϡ?Perl 5.8.1?ʹߤ? ɬ?פǤ???

$j->tr($from, $to, $opt);
Jcode???֥??????Ȥ?"tr/$from/$to/"??Ŭ?Ѥ??ޤ???$from??$to?? EUC-JP??ʸ?????Ǥ???Perl 5.8.1?ʹߤǤϡ?flag?դ???UTF-8ʸ???? ???????դ??ޤ???

$opt?򥻥åȤ????ȡ?"tr/$from/$to/$opt"??Ŭ?Ѥ????ޤ???$opt?? 'c'??'d'???뤤?Ϥ????????Ȥ߹??碌?Ǥʤ????Фʤ??ޤ?????

$j->nmatch???̤??ƥޥå??????????????Ǥ??ޤ???

Perl 5.8.1?ʹߤǤϡ?tr?η????˸????Τ??ä???????->error_tr???̤??ơ? $@???????Ǥ??ޤ???

?ʲ??Υ᥽?åɤ?Perl 5.8.1?ʹߤǤΤ????Ѳ?ǽ?Ǥ???

$j->s($patter, $replace, $opt);
?ġ???"s/$pattern/$replace/$opt"??Ŭ?Ѥ??ޤ???$opt??????ɽ?????ץ??????? Ʊ???Ǥ???????ɽ???Υ??ץ??????ˤĤ??Ƥ?perlre?򻲾Ȥ?????????

"$j->tr()"??"$j->s()"?Ϥ??Υ??֥??????ȼ??Ȥ??֤??Τǡ? ?ʲ??Τ褦????????Ϣ???Ǥ??ޤ???

  $j->tr("A-Z", "a-z")->s("foo", "bar");
    
[@match = ] $j->m($pattern, $opt);
"m/$patter/$opt"??Ŭ?Ѥ??ޤ??????Υ᥽?åɤϡɥ??֥??????Ȥ??֤??ʤ??? ?Τǡ?"$j->s()"?Τ褦?˥᥽?åɤ?Ϣ???Ǥ??ʤ????Ȥ????դ??Ƥ?????????

????ɽ???η????˸????Τ??ä????硢->error_m??->error_s???̤??? $@???????Ǥ??ޤ???

???󥹥??????ѿ?

?⤷Jcode???֥??????ȤΥ??󥹥??????ѿ??˥??????????????ʤ顢ľ?ܤ????? ?˥????????????ΤǤϤʤ????????????᥽?åɤ????Ѥ??ޤ??礦?ʤ??줾OOP ?Ǥ??ˡ?

???ͤޤǤˡ?Jcode?ϡʰ???Ū????ˡ?Ǥ????˥ϥå??????ե????󥹤????????ˡ? ???????ե????󥹤??Ȥ????Ȥǡ????ԡ??ɤ???Ŭ?????Ƥ??ޤ??ʼºݤΤȤ????? ?????????᥽?åɤ??Ȥ??¤ꤳ?Τ??Ȥ??Τ?ɬ?פϤ????ޤ????? ?⤦???? ?????ޤ???????????OOP?ʤΤǤ??ˡ?

Perl 5.8.1?ʹߤǤϡ??ϥå??????ե????󥹤??Ȥ??褦???ѹ??????ޤ????? ?????ˤ??ꡢJcode?γ?ĥ?Ϥ??Τ???????ñ?ˤʤ??ޤ???

$j->r_str
EUCʸ?????ؤΥ??ե????󥹡?

Perl 5.8.1?ʹߤǤ?UTF-8?ե饰??Ω?ä?UTF-8ʸ?????ؤΥ??ե????󥹤Ǥ???

$j->icode
ľ?????????ˤ?????????ʸ???????ɡ?
$j->nmatch
?ޥå?????????$j->tr?????Ȥä??Ȥ??ˡ?

($code, [$nmatch]) = getcode($str)
$str??ʸ???????ɤ??֤??ޤ????֤륳???ɤϰʲ????̤??Ǥ???

 ascii   Ascii ?????ܸ쥳???ɤ??ޤޤʤ???
 binary  Binary ?ʥƥ????ȥե??????ǤϤʤ???
 euc     EUC-JP
 sjis    SHIFT_JIS
 jis     JIS (ISO-2022-JP)
 ucs2    UCS2 (Raw Unicode)
 utf8    UTF8
    

?????顼?????ƥ????Ȥ????????????󥳥??ƥ????Ȥ??Ȥ??ȡ???ʸ??ʬ?? ?????ɤ????Ĥ??ä??Τ????֤??ޤ??????????ǽҤ٤??褦?ˡ?$str??\$str ?Ǥ⹽???ޤ?????

jcode.pl ???ѼԤ????ء? ???δؿ???jcode::getcode()??100%???̸ߴ??? ?????ޤ????????ޤ????ۤ?100%??

 * ?????ͤ??????ΤȤ??????ν??֤ϵդȤʤ??ޤ???
   jcode::getcode()??$nmatch???ǽ????֤??ޤ???
    

 * jcode::getcode()?ϡ?EUCʸ????SJISʸ???ο??????????Ȥ???'undef'??
   ?֤??ޤ??? Jcode::getcode()??EUC???֤??ޤ?????????Jcode.pm?ˤ?
   ???֤??ʤ??????Ǥ???
    
$str??$ocode?ǻ??ꤷ??ʸ???????ɤ??Ѵ????ޤ???$icode?????ꤹ???ȡ? ????ʸ??????getcode()?ǥ????å????????????ˡ?$icode?Ȳ??ꤷ?ޤ??? ???????ǽҤ٤??褦?ˡ?$str??\$str?Ǥ⹽???ޤ?????

jcode.pl ???ѼԤ????ء? ???δؿ???jcode::convert()??100%???̸ߴ??? ?????ޤ???

Perl??5.8.1?ʹߤξ??硢Jcode??Encode?Υ??åѡ??Ȥ??ƿ????񤤤ޤ??? ?ĤޤꡢJcode??Encode???ΥХ??αƶ????????ޤ???

???Υѥå??????ϡ?ư?????ǥ????󤽤??ƥ????ɤ?¿???????ǡ? ???? ???? <utashiro@iij.ad.jp>????Perl4?饤?֥???jcode.pl?????äƤ??ޤ???

???? ???? <ohzaki@iod.ricoh.co.jp>???ϡ???ȯ???????˽??????ʳ????? ????ɽ?????᤭?????????????򤷤Ƥ????ޤ?????

makamaka@donzoko.net ?? JEncode ?ˤϡ?Jcode??Encode???ɤ?ͻ?礵?????? ???????????礭?ʷ??????????ޤ??????ޤ????????ܸ??ޥ˥奢??????£???? ?????????ޤ?????

??????Jcode ML <jcode5@ring.gr.jp>?γ????󡣤?????ã?ʤ??ˤϡ? ?????ޤǴ??????ʤ??ä????ȤǤ??礦??

Encode

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

Copyright 1999-2005 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.