From: "NARUSE, Yui" Date: 2008-01-19T14:16:57+09:00 Subject: [ruby-dev:33181] Re: Binary String 成瀬です。 Hiroshi Ichikawa wrote: > Gimiteです。 > >>> 個人的には、このようなケースで「エンコーディング不明な文字列」が生成さ >> れる可能性があり、そのような文字列とバイナリデータを区別したいケース(e.g. >>> Tk)がある以上、「エンコーディング不明」とバイナリデータには別々の >> encodingを割り当てるべきだと思います。 >> >> 現在は「そのような文字列とバイナリデータを区別したいケース」は存在しない >> という前提に立っています。もしそのようなケースがあるのならば必要なので >> しょうが。 > > なるほど。僕は一応このTkのケースでも区別できたほうがいいと考えています。というのは、区別できない場合は > ・バイナリデータ→変換しない→正常に処理される > ・エンコーディング不明な文字列→変換しない→文字化ける > という対処しかできないのに比べて、区別できた場合は、 > ・バイナリデータ→変換しない→正常に処理できる > ・エンコーディング不明な文字列→例外を投げる > という対処もできるようになります(エラーの表現としては文字化けよりも例外のほうが明示的で分かりやすいだろう、ということで)。 > > まあ文字化けだって見れば分かるんだから、例外投げるのとそんなに変わらないのでは、と言われれば、そんな気もしますが…。 それって、一見 strict でいい感じに見えますけれど、実装は ASCII-8BIT が来 たらエラー、になりますよね。エラーだらけでまともに動かない気がするのです が。気をつけてテキストデータには encoding を、バイナリデータには binary を一つ一つつけていくというのもいいとは思うのですが、なんか違うような。 -- NARUSE, Yui DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA