[Mew-dist 04071] Re: charset=shift_jis

Kazumasa Utashiro utashiro at example.com
1998年 3月 3日 (火) 18:54:50 JST


From: SAKAI Kiyotaka <ksakai at example.com>
Subject: [Mew-dist 04068] Re: charset=shift_jis
Date: Tue, 3 Mar 1998 16:35:01 +0900

> > もう一つ、僕がどうすればいいのかわからないので、とりあえず放置 (という
> > か無視) しているのが、上の \xa0 のコードです。前にちょっと調べたことが
> > あって、たしか X 0201 では空白に割り当てられていたと思うのですが、これ
> > を JIS に変換するときには、一体どうしたらいいものやら。その時は5分悩ん
> > で結論が出なかったので忘れました :-)。今まで、誰も文句言わないところを
> > 見ると、使われることはないのかな。
> 
>   http://www.win.or.jp/~horagai/moji/code1.html
> 
> を見ると JISX 0201 の A0 は 未定義 とされていますが、ある種のコードが 
> A0 を空白に割り当てているとか、そういう話ではなのでしょうか。

失礼。前に見たときは、7単位符号表を見てそう思ったみたいです。8単位では
未定義となっています。

From: Hiroto Kagotani <kagotani at example.com>
Subject: [Mew-dist 04069] Re: charset=shift_jis
Date: Tue, 3 Mar 1998 17:43:43 +0900

> JIS X 0201 右側は 94 文字セットですから、ISO 2022 の枠組で使うと考える
> と、\xA0 と \xFF は、それぞれ、単に SP と DEL として解釈していいはずで
> す。GR に 94 文字セットが呼び出されていれば、そのままにしてもいいし、
> GL に 94 文字セットが呼び出されていれば、MSB を落としてもいいんじゃな
> いでしょうか。ただし、両方に 96 文字セットが呼び出されていたりすると、
> G0 (G0には94文字セットしか指示できないはず(ISO 2022-1986(E)))を GL 
> に呼び出して使うしかないでしょうけど。
> 
> とここまで書きましたが、Shift-JIS の \xA0 が JIS X 0201 の \xA0 と同じ
> という前提がないと、上の話は成り立ちませんね。

JIS X 0208-1997 附属書1 『シフト符号化表現』によれば、

  f) ビット組合せ 80, A0 及び F0-FF は、未定義とし、保留域と呼ぶ。

とあります。

籠谷さんの言われる 94/96文字セットの話は、不勉強なため理解できないので
すが、少なくとも sjis では \xA0 は定義されていなくて、それがどう変換さ
れるかは責任持てないということでいいんでしょうか。

ただ、以前何でこんなことを気にしたかと言えば、そういうコードがあったか
らなんで、全然ないわけでもないようです。きっと、ASCII の空白として扱っ
てあげるのが親切なんでしょう。

--utashiro



Mew-dist メーリングリストの案内