[PHP-users 4742] Re: sjis で echo ”能” エ

Hiro Yoshioka php-users@php.gr.jp
Wed, 16 Jan 2002 11:09:37 +0900


よしおかです。

> 松島です。

こんにちは、

質問に答えていただきありがとうございます。

> > ふむ?なんでShift_JISは符号化方式として
> > おとっているのでしょうか?
> 
> しばしば言われている弱点は、次の通り。
> 
> ・JIS X 201とJIS X 208が前提の為、それ以上の拡張が困難。
> ・区点コードとの変換が複雑。
> ・2バイト目に0x5c等が含まれる。
> ・8bit目が落ちたら、情報の復元が困難。

なるほど、どれもweakなargumentsですね。

> ・JIS X 201とJIS X 208が前提の為、それ以上の拡張が困難。

UTF-8やEUC-JPだと文字のレパートリを拡張できる
という主張なのでしょうか?うーむ、よくわからない??

> ・区点コードとの変換が複雑。

UTF-8へ区点コードとの変換はテーブルを利用しないと
できないと思うのですが。それから比べれば、簡単に
区点コードへと変換できると思います。

> ・2バイト目に0x5c等が含まれる。

iso-2022-jpなんかもそうなんですよね。

> ・8bit目が落ちたら、情報の復元が困難。

EUC-JPもUTF-8も8ビット目が落ちたら復元は困難だと
思うのですが。

というわけで、

> そろそろコンピュータの読み書き算盤に相当する範疇に、
> Shift_JISは符号化方式としてEUC-JPやUTF-8等と比べて劣っている、

読み書き算盤に相当する範疇で劣っているというのは
いかがかなと思いました。

符号化方式というのは一長一短いろいろあるので
一概にどっちがいいとか悪いとか言えないかと。

> 海外系のツールで痛い目に合う事(今回の'能'も然り)を考えると、
> EUC-JPやUTF-8の方が技術的に都合の良い事が多いと感じています。

技術的に都合がいいというより、たまたま通ることが
多い程度の話ですよね。

> > > Shift_JISは既にlegacyだと思います。
> > legacyというのはどのような意味なのでしょうか?
> 
> 遺産です。(辞書の訳の通りに)

遺産だから保護しなくちゃいけないとか(冗談です)

Shift_JISのアプリケーションが全然新規に作られて
いなくて、どんどん廃棄あるいは他のエンコーディングに
マイグレートされているのならlegacyという感じがする
のですが、そーではなくて、ばりばり新規に作られている
のが実状ですよね。

> Shift_JISの利点は、
> 日本で幅広く利用され過去に作られた多くの文書との互換性に富む事、
> だと思います。
> 
> 技術的にShift_JISそのものが優れているのではなく、
> Shift_JISを取り巻く環境が都合が良い事が多い
> (又は、Shift_JISでないと動いてくれない物が多い)
> と感じています。
> 
> 最終的にShift_JISを読み書き出来れば、
> システム内の記述をShift_JISに固執する理由は無いと思います。

もちろんそうですね、固執する必要は
全然ないかと思います。

> > i-Mode系のアプリはそうもいかないんじゃないでしょうか?
> 
> Shift_JISに変換されたデータが流れれば良いと思います。

i-Modeの特殊文字ってUTF-8では表現できないかと
思っていたのですが、そーではないのでしょうか?
単にわたしが知らないだけかもしれないので、教えてください。

よ
--
Hiro Yoshioka/CTO, Miracle Linux
mailto:hyoshiok@miraclelinux.com
http://www.miraclelinux.com
カーネルプログラマ募集中