Jcode
このページはDan Kogai氏が提供しているPerlモジュールJcodeの改良(??)を
目指して開設した暫定的なページです。 目標は、Jcodeの枠組みの中での
SJIS−>UTF8変換の高速化です。
Jcode-0.60に対して、次のような修正をしました。
- Unicode/unicode.cのファイル名をucs.cに変更。MS-WindowsではUnicode.xsから生成されるUnicode.cによってunicode.cが
上書きされ消えてしまう為です。
- ucs.c(旧unicode.c)の中UCS2 <−> EUC変換ルーチン(Cプログラム)の
アルゴリズムを変更して高速化しました。具体的には、UCS2 −> EUC、EUC −> UCS2の2つの
変換表を用意して、それぞれ二回の表引きで変換できるようにしました。
- SJIS <−> EUC変換ルーチンをCプログラムとし高速化しました。 −> Unicode/sjis
MS-Windows + MS-VC++でコンパイルする際には、インラインアセンブラを使ってさらに高速化しました。
- Unicode.xsにeuc_utf8,utf8_euc,sjis_euc,euc_sjisを追加しました。
- Jcode::euc_sjis,Jcode::sjis_eucルーチンをJcode.pmからJcode::Unicode::NoXS.pmに移動しました。
- Jcode.pmの中でload_module("Jcode::Unicode")をBEGIN節の中で実行するようにしました。
- Unicode-1.1変換テーブルから、0xA1C0(EUC) <−> U005C, 0x8FA2B7(EUC) <−> U007Eを削除して
0xA1C0(EUC) <−> UFF3C, 0x8FA2B7(EUC) <−> UFF5Eを追加しました。
これは、EUC->UCS2->EUCのようなラウンドトリップな変換を行なった際に元の文字列と
変換後の文字列が食い違うことを防ぐためです。
Perl
ホームページ
●
リンクはご自由にどうぞ。問合わせ等の必要はありません。
Last modified: Thu Jul 27 2000
Copyright (C) 2000 SUZUKI Norio, 鈴木紀夫