[Namazu-win32-users-ja 365] Re: 複数の mknmz コマンドを発行することは可能でしょうか?

Tadamasa Teranishi yw3t-trns @ asahi-net.or.jp
2005年 3月 23日 (水) 15:39:16 JST


寺西です。

# 実はもっと単純なことしかやっていなくて。

勝俣 秀信 wrote:
> 
> codeconv.plのstoe関数について以下のように捉えておりますが正しいでしょう
> か?
...
> (2)<追加処理>では1バイト目もしくは2バイト目が「0x80未満または0x100以
> 上」の場合、
> ゲタ文字に変換(「return chr(0xa2) . chr(0xae)」)して結果を返却。

EUC-JP に変換した結果を単純にチェックして範囲外だとゲタにしている
だけです。

EUC-JP の場合、1バイト目、2バイト目共に 0x80〜0xff になります。
(実際には、更にその中の一部なわけですが。)
この範囲から外れるものは、EUC-JP でないと容易に判断がつきます。

また、後々の処理では EUC-JP であることを前提に処理を行いますので、
EUC-JP の範囲外の値はここで排除する必要があります。

俗に言う機種依存文字は、EUC-JP にはありませんので、Shift_JIS から
EUC-JP に変換する処理を通した場合に EUC-JP の範囲の値になりません。
入力データとして機種依存文字は想定外だからです。

より厳密に値のチェックを行うべきかもしれませんが、このような簡易な
チェックでも十分に実用的だと思います。(あまり複雑な処理を増やすと
処理速度が落ちますし。)
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns @ asahi-net.or.jp
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E




Namazu-win32-users-ja メーリングリストの案内