From: matz@... (Yukihiro Matsumoto) Date: 2000-11-01T02:21:39+09:00 Subject: [ruby-dev:11351] Re: Ruby I18N まつもと ゆきひろです In message "[ruby-dev:11337] Re: Ruby I18N" on 00/10/30, Yasushi Shoji writes: |> http://www.unicode.org/unicode/reports/tr17/ | |「Rubyの i18nの議論をする時は UTR#17の modelで定義されている単語を使う」 |とか決ってると無駄が無さそうですね。 UTR#17はまだちゃんと読んでないんですが、なんとなくうまく説明 できないような気がします。文字集合から独立したエンコーディン グと言う概念がないようなので。 で、とりあえず*今後*はこうします。 文字集合 文字の集合(そのまんま)。整数でインデックスされた文字の集 合と考える(coded character set?)。 エンコーディング 文字に対する整数を複数バイトからなる金物表現(って60年代 用語)に変換する方法。一般的には文字集合に従属する。 文字コード系 あるエンコーディングで表現される文字集合。 で、たとえばEUC-JPは、文字集合はASCII(or JIS0201?)+JIS0208 で、エンコーディングがEUC(Extended UNIX Code)であるという風 に考えることにしましょう。同様にUnicodeは文字集合がISO10646 (の第1プレーン?)でエンコーディングがUTF-16(またはUTF-8)と考 えます。 なんだか「文字コード系」ってのがピンと来ないんですが、より良 い用語が見付かるまでは、私はこれで行こうと思います。 んでもって、以下のことを考えてるわけです。 * スクリプト言語における文字列処理に必要な情報のほとんどは エンコーディングに関する情報のみである。わずかな例外は文 字種の判定である。 * かつ、その「エンコーディングに関する情報」とは、あるマル チバイト文字表現から文字のインデックス(整数)を取り出す機 能と、そのマルチバイト文字表現の長さを知る機能でほぼカバー できる。 * よって、上記ふたつの機能と、後いくばくかを定義すれば、 (ステートレスであれば)任意の文字コード系に対応できる。 ような気がしてるんですが、気のせいかなあ。 まつもと ゆきひろ /:|)