Perl (CGI)で 文字コードUTF-8への変換を気軽に使うライブラリ

Perl (CGI)で 文字コードUTF-8への変換を気軽に使うライブラリを開発した。

ダウンロード:sutf8.pl
著作権はさとーしが持ちますが,完全に利用フリーです。

動作条件として,実行には以下のファイル(Unicode Consortiumで公開されているMicrosoft CP932の変換表)が sutf8.pl と同じディレクトリに必要です。
ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT

機能としては,Shift-JISからUTF-8への変換とその逆が出来ます。
ただし, Perl では,EUC-JPの方がShift-JISよりプログラムのトラブルが少ないので,
プログラム内部ではEUC-JPで処理を行い,UTF-8に変換するときは,
jcode.pl とかのライブラリを使って,Shift-JISに変換する必要があります。


プログラムの例:

require 'jcode.pl';
require 'sutf8.pl';

$str = "あいうえお";
&jcode'convert(*str,'sjis'); # Shift-JISに変換
&sjis2utf8(*str); # UTF-8に変換

# これで, $strは,UTF-8に変換済みです。

# UTF-8からShift-JISやEUC-JPにするには

&utf82sjis(*str); # Shift-JISに変換
&jcode'convert(*str,'euc'); # EUC-JPに変換

# とすれば,OK



問題点:
そのため,Shift-JISに含まれていない文字を扱うと文字が壊れます(汗

プログラムの保障(バグ,パフォーマンスの問題対処)はいたしません・・・。
 また,CP932.TXTの対応表では,Shift-JISとUNICODEは完全に1対1では無く,
1対2以上になっているものが 398個ぐらいあります・・・。そのため,
Shift-JISからUTF-8への変換は問題ありませんが,UTF-8からShift-JISへ
変換したときに,部分的に元に戻らないことがあります。

"Perl (CGI)で 文字コードUTF-8への変換を気軽に使うライブラリ" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント