From: TAKAHASHI Masayoshi Date: 2000-09-24T16:44:33+09:00 Subject: [ruby-list:25136] Re: file separator for Ruby in Windows 高橋征義です。 matz@zetabits.com (Yukihiro Matsumoto)さん: > そうですねえ。現時点では「Unicodeへの変換問題」や「Unicodeで > 現に表現できないスクリプト問題」があるので、内部コードの文字 > 集合にUnicodeを用いることにはちょっと抵抗があります。 > > 考えているのは いまいち意味が取れなかったのですが(汗;、 > * 現状の延長線。文字集合とエンコーディングを追加定義可能に > する。 > > * エンコーディングはUTF-8に統一。入出力は適宜変換する。た > だし、文字コードはUnicodeではなくオリジナル文字コードの > ものをそのまま使う。つまりEUCの場合「あ」は0xa2a4としま > す。 > > * 各文字に31bit使います(UCS-4相当)。ただし文字コードは(以 > 下同文)。 > > * 文字集合はUnicode。エンコーディングはUTF-8(PerlやPython > のやり方)。 > > * 文字集合はUnicode。エンコーディングはUCS-4(glibc?)。 それぞれをA案〜E案と呼ぶことにして、これを表にすると、 内部の文字集合 Unicode文字列の EUC-JP文字列の 内部encoding 内部encoding A案 不特定 そのまま そのまま B案 不特定 UTF-8に統一 そのまま(16bit) C案 31bit UCS-4に統一 32bitに変換 D案 ISO10646 UTF-8に統一 UTF-8に変換 E案 ISO10646 UCS-4に統一 UCS-4に変換 というところでしょうか? なんか誤解しているような気もするの ですが。 ……ああああ、ひょっとしてB案は、「EUC-JPの場合、EUC-JPにUTF-8 変換(と同等の変換)をかけたものにする」ということなのでしょうか? つまり、0xa2a4が、0xea8aa4になる、というか。 でも、EUC-JPって、UCS2のサロゲートペア用の領域も使ってしまう ので、素朴にUTF-8風変換をすることはできないはずです。 D案やE案になるとしても(個人的にはこれでも仕方ないかなあ、という 気分)、「Unicodeから/に変換するメソッド(クラス)はユーザが好きに いじれる」というのはほしいですね。 # それともcoerceを使う(by 五十嵐さん)? 高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp