From: "NARUSE, Yui" Date: 2008-01-14T23:43:59+09:00 Subject: [ruby-dev:33098] Re: Encoding.compatible? and dummy encodings 成瀬です。 > In message "Re: [ruby-dev:33094] Re: Encoding.compatible? and dummy encodings" > on Mon, 14 Jan 2008 22:04:15 +0900, Martin Duerst writes: > > |そもそも ISO-2022-JP も UTF-7 も内部処理のために作られてないし、 > |内部処理に向いてない。例えば ISO-2002-JP の場合に、文字列を簡単に > |結合するには決まりが必要ですが、そういう決まりはありません > |(作りたいと思えば作れると思いますが)。でもその決まりを守るために > |文字列の一部取り出しのところで大変苦労しないと行けないです。 > |UTF-7 も同じです。 > | > |正しい方向性として、そういう Encoding の場合、処理を極限不可能にするのは > |妥当だと思います。極限に、入力と出力以外には使えなくて、他に何か > |処理したい場合には (自信がある人は) binary や ASCII などで処理するか、 > |変換するかにする方がベストと思います。 あー、なるほど、確かに。 Yukihiro Matsumoto wrote: > うーん、おっしゃる通りです。とすると「dummyはcompatibleでな > い」の方が正解なのでしょうね。この場合、自分自身とは > compatibleなのでしょうか。 自分自身とは compatible にしないと、ファイルからバッファに逐次読み込む、 なんてときにずっこけますね。 buf = '' open('hoge.txt', 'r:iso-2022-jp') do |f| until f.eof? buf += f.redpartial(4096) end end -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA