Nozomi Ytow
nozom****@biol*****
2006年 5月 22日 (月) 23:04:48 JST
MORIYAMA Masayuki <moriy****@mirac*****> wrote: > CP51932 や eucJP-ms、CP5022X では、CP932 での IBM拡張文字とNEC選定IBM > 拡張文字を区別して扱う事は出来ませんので、Unicode への変換が絡まなくて > も重複符号化文字のレガシーエンコーディング間の変換では、Unicode と > CP932 との間の変換と同様の問題が生じます。 それは変換の端点となる文字コードの制約によるものなので不可避でしょう。 ASCII に JIS X 0208 の殆んどの文字はマップできない、というのと同じ カテゴリです。そうではなくて、端点文字コードだけの指定では区別して マップできるのに、中間コードの制約で区別できなくなる事をどうするか、 という話です。 > レガシーエンコーディング間の変換で重複符号化文字を維持したまま変換可能 > にする事に関しては、Windows と異なる重複符号化文字の扱いをする事は、メ > リットよりもデメリットの方が多くなってしまうのではないかと思います。 それはそれで理解できますが、round trip を保証しなかったり、区別できる ものを区別しなかったりというのは、いくら元の文字集合が集合になって いないからとは言え変換系としては「えっ」思わせるので、ドキュメントに メリットデメリットを列挙した上で、それでもこういう仕様にするのだと 書いておくべきだと思います。 「現実問題としてコードの登場頻度が少ないだろう」という理由よりは、 内部コードへの依存性が高まってしまうので共通の文字コード変換 仕様としてはモジュラリティの観点から適当でない、という理由の方が 説得力があると思います。 -- のぞみ