- ベストアンサー
文字コードの利点、欠点
シフトーJISとかEUCとか、色々文字コードが ありますが、例えばこのふたつの文字コードの場合、 それぞれの利点、欠点は何なのでしょうか? よく観るホームページではシフト-JISが多い気もしますが、 どちらの方がいいのでしょう?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
sjisだと、そのデータの任意の1バイトを取り出したとき, 1バイトのコードか、2バイト文字の2バイト目のコードか区別できないことでしょう。 よく見かけるのがsjisの漢字コードの2バイト目に ファイルのセパレータである\が含まれる文字によるバグや、 日本語文字コードを意識していないプログラムに漢字を 与えた場合の誤動作です。 本来は漢字の一部なのに¥が含まれているために、 ディレクトリの区切りとして誤動作します。 まあ、全てのプログラムがきちんと作られていれば 問題無いわけですが,手間がかなり余分にかかります。 EUCやJIS方は区別がつくためこの問題は生じません。 また、これは英語圏の環境で日本語文字データを読み込んだ場合に問題を発生するかも知れません。 EUCは俗称で半角カナと呼ばれる文字を表現するのに 3バイト必要なので、これは欠点になりうるかも。 また、sjis,EUC両方の欠点として,多言語化かできません。 例えば,日本語、中国語、韓国語の文字の混在ができません。 また、どちらも8ビットを使うコードですので、環境によっては問題を起こす場合があります。 元々文字コードは7bitという前提で書かれていたことがあり、 そういう環境が無いと保証できない場合があり得るからです。 wwwの文字コードとしては本来はJISを使うべきかも知れません。 もともと通信という外部とやり取りする物はJISで なければいけないような話があったはずです。 sjisが多いのは,単にその文字コードを基本とする WindowsやMacの文字コードが無造作にそのまま ページとしておかれるためでしょう。 私は自分のページはわざわざjisコードにしてます。
その他の回答 (2)
- miya_777
- ベストアンサー率31% (44/140)
シフトJISもEUCも利点、欠点というのはあまりありません。 結局は文字コードの取り決めなのです。 しいて言うなら、サイズが違うといったくらいです。 シフトJISなら、1文字を表現するのに最大で2Byte、 これに対してEUCは最大3Byte必要とする時があります。 どちらを使うかといえば、結局は開発環境の文字コードに合わせるのが自然です。 htmlをテキストエディタで表示する時などにもスムーズですしね。 (秀丸のような自動判別してくれるのもありますが・・・。)
- sesame
- ベストアンサー率49% (1127/2292)
ホームページでシフトJISが多く見られるのは、近年、圧倒的に一般家庭のパソコンでホームページを作る人が増えたためでしょう。 シフトJISはもともとマイクロソフトが開発した文字コードで、インターネットとの親和性はあまりありませんでした。 EUCは拡張ユニックスコードの略であることからもわかるとおり、UNIX系OSで古くから使われてきた文字コードです。 インターネットはもともとUNIX中心の文化だったため、古くからの大学・研究所系のサイトでEUCが細々と、しかし根強く残っています。 CGIなどサーバ上で動かすスクリプトプログラムは、EUCとの相性がいいです。 これは、シフトJISのコード体系をCGIスクリプトに通すためには特殊の工夫をしなければならないためで、EUCならそうした心配をする必要がなく、誤動作や文字化けの確率が抑えられます。 スクリプトを動かさない普通のページであれば、シフトJISで何ら問題はありません。