2001-11-06 [長年日記]
λ. 朝鮮語
中間テスト。敗北。
λ. 情報通信セキュリティ論
ブロック暗号とストリーム暗号について前回よりももうちょっとつっこんだ話。有限体上の演算とか面白い。しっかし、この「第3回講義メモで、アフィン暗号の式が E(M)=aM+b mod N、D(C)=(C−b)/a mod N となっていますが、復号の方がうまくいきません。」ってFAQはレベル低すぎ。あと、「一年生の時にやったはず」とか言っちゃいかんですよ、せんせ。一年生だってこの授業取ってるんだから。
λ. データベース概論
正規化理論について。さっぱり分からなかったので後でメールで質問しよ。こないだの関係代数のときみたいに数学的な定義を書いてくれれば良かったのに。
λ. ruby_m17n vs TIS620&IS13194
TIS 640620 や IS 13194 のような、(文字ではなく)文字を構成する部品が符号化の単位になっているようなエンコーディングはどのように扱われるべきだろうか?
ruby_m17nの話ですが、UTF-8でも基本的に文字ユニット(部品)<br>単位で処理してるはずですから、TIS640とかでも同じようになる<br>んではないかと思います。
そのへん内部コードと外部コードとの変換を自由に定義できるっていうのが<br>ruby-m17n の考え方のベースなんで,<br>内部では文字単位でも部品単位でも好きなように持てます.<br>....っていう話でしたよね.<br>ずっと前に String#rindex の挙動が違うんだったかで<br>miniruby でしか試さないでそれっきりなんで,<br>細かい話がどうだったんだかは忘却の彼方.
前述のエンコーディングは、部品の不定長の結合を許すので、エンコーディングをそのままにしたままで、文字単位の処理を行うのは大変なんじゃないかと思ったのですが、内部コードと外部コードの変換を自由に定義できるならば問題ではなさそうですね。(内部コードと外部コードとの変換ってのは[ruby-dev:14159]のあたりの話でしょうか?)<br><br>ということは、適当な内部コードを定義することでISO 2022やIS13194のようなstatefulなエンコーディングも扱えるのかな…
はうっ、TIS620でしたっけか。気づかずにすみません。<br><br>むむむ、確かに「どんな内部コードでもおーけー」という意味では<br>「文字単位も部品単位も変換次第」という言い方はできますね。<br>でも、結合文字を含む文字コードセットを、文字単位の<br>ステートフルなエンコーディングに変換するのは大変ではないで<br>しょうか……。
しまった.そっか,内部コードは stateless であること,<br>っていう制限はありましたね,そう言えば.文字部品単位で持<br>つっていうのは無理か.<br><br>部品の一つ一つを「文字」として扱って,正しくない組合せを<br>「文法間違い」と見る立場なら平気? :-P 激しく無理矢理だ....<br><br># つい wiki 関係と間違えて変なフォーマットでコメント書い<br># てしまった.
部品単位から文字単位への変換は確かに面倒ではあるのですが、結合規則をきちんと形式的に定義できるならば、結合文字を含んでいようと、iconvやmb→wcの変換と同じ枠組の中で実装出来るはず。(当然、同時にstateful→statelessの変換も出来る)<br><br>部品の不定長の結合を許す場合で異なるのは、結合不可能な部品が次に現れるかまでは最後の「文字」を確定出来ないという点だけ(…だと思う)。<br><br>ちなみに、「国際化・多言語化の基礎と実際 [前編]」(片岡裕 / Bit Vol. 29, No. 3 (1997-3))によれば、IS 13194はISO 2022的には94文字集合ですが、「文字」としての処理単位をそれとは別に規定しているそうです。