At 18:03 08/01/14, you wrote:
>成瀬です。
>
>Yukihiro Matsumoto wrote:
>> まつもと ゆきひろです
>> 
>> In message "Re: [ruby-dev:33077] Re: Encoding.compatible? and dummy encodings"
>>     on Sun, 13 Jan 2008 22:08:18 +0900, "NARUSE, Yui" 
><naruse / airemix.com> writes:
>> 
>> |dummy encoding だからではなく、"\e$B4A;z\e(B" が 7bit ASCII の範囲に収
>> |まっているからですね (rb_enc_str_asciionly_p)。ISO-2022-JP は常に 7bit
>> |なので EUC-JP だけでなく、Shift_JIS とも UTF-8 とも compatible になります。
>> |
>> |これどうしましょうか。ESC/SI/SO があったらダメとかでしょうかねぇ・・・。
>> 
>> dummyはcompatibleじゃないとか。7bitの範囲にESCを含めないとか。
>> どっちがいいかな。
>
>ISO-2022-JP でも、[\t\n\r !-~] のみなら ESC も出てこないので、これは
>ascii only であってほしいかと。すると前者では都合が悪くて、後者になりそ
>うです。
>他に 7bit なエンコーディングは UTF-7 とかでしょうか。これはいつでも結合
>可能でいいのかなぁ。

そもそも ISO-2022-JP も UTF-7 も内部処理のために作られてないし、
内部処理に向いてない。例えば ISO-2002-JP の場合に、文字列を簡単に
結合するには決まりが必要ですが、そういう決まりはありません
(作りたいと思えば作れると思いますが)。でもその決まりを守るために
文字列の一部取り出しのところで大変苦労しないと行けないです。
UTF-7 も同じです。

正しい方向性として、そういう Encoding の場合、処理を極限不可能にするのは
妥当だと思います。極限に、入力と出力以外には使えなくて、他に何か
処理したい場合には (自信がある人は) binary や ASCII などで処理するか、
変換するかにする方がベストと思います。

宜しくお願いします。


#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:duerst / it.aoyama.ac.jp