トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS   ログイン

TOP>jacode.pl

Perl | install_japerl_Framework.bat | japerl.bat | jacode.pl | Char.pm | Perl-Exactly | Strict-Perl | Modern-Open | Fake-Our | Fake-Encode | Stable-Module | SjisTk | DBD-mysqlPPrawSjis | DBD-PgPPSjis | Sjis.pm | EUCJP.pm | UTF2.pm

require 'jcode.pl'; ⇒ use Jcode; ⇒ use Encode; ⇒ require 'jacode.pl';

jacode.pl は jcode.pl および Jcode の後継を目的として作成されたPerlライブラリです。 入出力するデータの符号化方式を変換するときに利用します。

jacode.plはこんなときに便利です

インストール方法

以下のファイルを @INC に含まれるディレクトリ、例えば C:\Perl\site\lib にコピーするとインストール完了です。

使い方

スクリプト先頭に以下の記述をします。

require 'jacode.pl';
jcode.pl ⇔ jacode.pl の切り替えはわずか「a」1タッチでできます。

サブルーチン

パッケージ名は &jcode' でも jacode:: でもどちらでも利用できます。
長期に渡って運用・保守されるソフトウェアなので jcode.pl と同じインタフェースでも利用できるようにしています。

jacode::convert(\$line, $OUTPUT_encoding [, $INPUT_encoding [, $option]])
jacode::xxx2yyy(\$line [, $option])
jacode::to($OUTPUT_encoding, $line [, $INPUT_encoding [, $option]])
jacode::jis($line [, $INPUT_encoding [, $option]])
jacode::euc($line [, $INPUT_encoding [, $option]])
jacode::sjis($line [, $INPUT_encoding [, $option]])
jacode::utf8($line [, $INPUT_encoding [, $option]])
jacode::jis_inout($JIS_Kanji_IN, $ASCII_IN)
jacode::get_inout($string)
jacode::cache()
jacode::nocache()
jacode::flushcache()
jacode::flush()
jacode::h2z_xxx(\$line)
jacode::z2h_xxx(\$line)
jacode::getcode(\$line)
jacode::tr(\$line, $from, $to [, $option])
jacode::trans($line, $from, $to [, $option])
jacode::init()
$jacode::convf{'xxx', 'yyy'}
$jacode::z2hf{'xxx'}
$jacode::h2zf{'xxx'}

&jcode'convert(*line, $OUTPUT_encoding [, $INPUT_encoding [, $option]])
&jcode'xxx2yyy(*line [, $option])
&jcode'to($OUTPUT_encoding, $line [, $INPUT_encoding [, $option]])
&jcode'jis($line [, $INPUT_encoding [, $option]])
&jcode'euc($line [, $INPUT_encoding [, $option]])
&jcode'sjis($line [, $INPUT_encoding [, $option]])
&jcode'utf8($line [, $INPUT_encoding [, $option]])
&jcode'jis_inout($JIS_Kanji_IN, $ASCII_IN)
&jcode'get_inout($string)
&jcode'cache()
&jcode'nocache()
&jcode'flushcache()
&jcode'flush()
&jcode'h2z_xxx(*line)
&jcode'z2h_xxx(*line)
&jcode'getcode(*line)
&jcode'tr(*line, $from, $to [, $option])
&jcode'trans($line, $from, $to [, $option])
&jcode'init()
$jcode'convf{'xxx', 'yyy'}
$jcode'z2hf{'xxx'}
$jcode'h2zf{'xxx'}

このライブラリの特徴

このライブラリの利点

【参考】jcode.pl のライセンス

jacode.plの説明

この jacode.pl は Perl4上でUTF-8を扱えるようにjcode.plを改造したものです。
実装を継承することにより機能(とインタフェース!)を継承するこの方法は、過去
においても、現在においても有効なので、おそらく将来においても有効であり続ける
でしょう。

jacode.pl を @INC に設定されているディレクトリ、例えば C:\Perl\site\lib
に格納するとインストール完了です。"require 'jcode.pl';" の代わりに
"require 'jacode.pl';" とすることで、今までの jcode.pl の機能に加えて
UTF-8 の変換ができるようになります。

UTF-8 を指定する場合は 'utf8' というように書きます。また 'jis','sjis',
'euc','utf8' のいずれでもないコードを指定して &jcode'convert を呼び出し
たとき、Encode モジュールを利用できる環境であれば、Encode::from_to によっ
てその変換を行います(これはまさしく小飼弾さんの Encode モジュール様さまです。
ときどき Encode モジュールの悪口を言うひとを見かけますが、そういうひとは許
しませんっ!)。

一点、気をつける必要があるのは文字コードの自動判定を行う &jcode'getcode
です。UTF-8も半角カナも扱うため判定の精度は従来の jcode.pl よりも低く、
"下種の勘繰り"と大した違いがありません。なので文字コード変換をする場合は
変換前・変換後ともに指定すべきだと思われます。

また、WWW 上には、'jacode.pl' を 'jcode.pl' にリネームして、呼出し元の
プログラムを書換えずにそのまま利用する方法が紹介されていますが、'jcode.pl'
にリネームしたファイルはくれぐれも再配布されないよう、ご注意願います。
再配布すると歌代和正さんの jcode.pl のライセンスにあなたが違反することに
なります。

【引用ここから】
コメントにも書いてありますが、再配布は商用、非商用を含めて完全に自由で
す。再配布に際して、作者の許可を得る必要はありません。一言連絡していた
だけると嬉しいとは思います。

ただし、機能的な変更を加えた場合は、それが明らかな形での配布を行って下
さい (Perl の ARTISTIC LICENCE の気持ちです)。もちろん、有用な機能であ
ればオリジナルに組み入れることも可能です。
【引用ここまで】

このソフトウェアはPerl4から最新のPerl5まで幅広く使えます。
そのためこれまでのスクリプトやノウハウを活かすことができます。その一方で、
Encodeモジュールの恩恵を受けることができるため、これからもずっと安泰です。

内部的に Encode モジュールが利用される場合もこのソフトウェアのインタフェー
スは jcode.pl のままなので忌々しい UTF8 フラグに煩わされることもありません。

これから始める人にも、今までjcode.plを使っていた人にもおすすめです。

Last-modified: 2023-12-14 (木) 22:31:43