[xyzzy:03087] Re: 文字列を 1byte ごとに処理
- Subject: [xyzzy:03087] Re: 文字列を 1byte ごとに処理
- From: masahito henmi <henmi@xxxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
HATTORI Masashi <hattori@xxxxxxxxxxxxxxxx> さん、こんにちは。masahito です。
|全然理解できてないんですが、
| 一つ目 => 1文字ずつ取り出して1byte文字じゃなかったら分けて処理
| 二つ目 => 処理できる型(?)に変換してから1byteずつ処理
|というような感じなのでしょうか。
xyzzy内部ではShiftJISコードのまま、1文字づつ処理できるように
されていたはずです。
A B C 漢 字
41 42 43 8abf 8e9a char foo[];
↓
0041 0042 0043 8abf 8e9a short foo[]; xyzzy内部表現
こんな感じ。
これだとWinApiを呼び出すときに困るので、私がおねだりして、WinApi
サポートを作ってもらったときに(si:make-string-chunk str)こんな
関数ができた。
この関数が返してくるchunkオブジェクトは char foo[];な1バイト毎の
配列になっている。
詳細は私もよくわかっていません(実は^^;)
あと余談ですが、もし入力がファイルになっているのなら、
CommonLispな関数 (openとか)を使ってバイト毎にアクセスも可能だと
思います。・・・・たぶんこっちの方が移植性はいいと思いますが。
そもそも「URL encodeする関数」これが何を意味するのか、理解でけて
ないので、外しているかもしれないけど^^;
------------------------------------------------------------
逸見雅人 Masahito Henmi henmi@xxxxxxxxxxxxx
♪あなたの願いも仕事もうまくいきますように・・・