プロが教えるわが家の防犯対策術!

おはようございます。
文字コードには、大きく分けて4種類
・JISコード
・S-JIS
・EUC
・Unicode
がありますが、それぞれの利点・欠点を教えていただけますでしょうか。

あと、EUCはなぜ制御文字を使って、1バイト仮名や補助漢字の文字コードを割り当てているのかも教えてください。
よろしくお願いします。

A 回答 (2件)

文字コードの解説はされているので、残った


>EUCはなぜ制御文字を使って、1バイト仮名や補助漢字の文字コードを割り当てているのかも教えてください。

何故かというとその方式がISO2022という規格で定められているからそれに従っています。
さらに何故ISO2022でそう定められているかというと、別の文字セットへの切り替え指示は、今の文字セットに割り当てられていない範囲を使うしかないわけで、そう言う意味で制御コードの範囲にその機能が割り当てられています。
    • good
    • 1

もう一つの質問とまとめてもよかった気がしますが…。



・旧JIS(JIS X 0201)(8bit)利点
ASCIIと同じバイト数で、ASCIIに加えてカナを扱える。
構造が単純。
欠点
漢字は扱えない

・新JIS(JIS X 0208)(7bit)利点
7bitしか使わないので昔の低性能な通信にも耐えた。(残り1bitで誤り検出)
扱う文字を増やそうと思えばいくらでも増やせる。
・欠点
ステートフルなので文字列の途中を見ても書いてある文字が分からない。
エスケープシークエンスの分容量がかさむ。

・Shift_JIS利点
旧JISの上位互換なので旧来の資源をそのまま使える。
半角カナを有効利用すると保存に必要なデータ量が新JISやEUCより少ない。
WindowsとMacで標準なのでデファクトスタンダード。
欠点
元は独自拡張なので世界の統一コードであるISO2022と互換性がない。(ただし韓国と中国にShift_JISと同じ構造のコードがある)
エンコードが複雑。
2バイトの区切りを間違えると文字列の途中から見て読めない。
2バイト目に「\」のコードが出て問題が起こる。

・EUC利点
上記Shift_JISの欠点を全て解決。
Shift_JISの漢字に加え補助漢字数千字が使える。
・欠点
半角カナが使えない(無理に使うと複雑なコードに)。
補助漢字は複雑なコード。
旧JISに互換性がない。
WindowsやMacで使いづらい。

・Unicode利点
文字数が多い。
・UTF-8利点
ASCIIの上位互換。
文字列の途中からでも読める。
・UTF-16利点
基本多言語面のみなら1文字2バイト固定で扱いやすい。
2バイトで扱える文字が最も多い。
・Unicode欠点
さまざまな文字がごちゃまぜに登録されているため、扱いが面倒。
(例: 右から左に書く文字、合成文字、文字方向を変える制御文字、同じ文字に複数のコード)
・UTF-8欠点
1文字あたりのバイト数が不定。
他のコードに比べ1文字あたりのバイト数が多い。
・UTF-16欠点
基本多言語面以外の文字を使おうとするとバイト数不定。
ASCIIに互換性がない。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!