文字コード・符号化方式について調べてみた

マルチバイト文字とは

  • 一文字を複数バイトで表す体系
  • 一文字のバイト数が可変であるような体系
  • ASCIIあるいはISO646をベースとしている
  • バイト値 80~FF16進法(あるいはそのサブセット)で始まるバイト列によりそれ以外の文字集合を表現する。

 

マルチバイトな文字コードの種類

 

 

qiita.com

 

 

detail.chiebukuro.yahoo.co.jp


ユニコードは 「文字コード」(ASCII文字コード、Shift-JISコードなど)の種類
マルチバイト文字は 「文字セット」(1バイト文字、ワイド文字セットなど)の分類

 

話を簡単にするためにWindowsの世界の話に限定して書くと:
マルチバイト:
アジア圏の文字を扱うために、漢字など西ヨーロッパに存在しない文字に複数バイトを割り当てる仕組み
複数のエリアの文字の共存はすごく難しい(たとえば台湾文字とハングルの同時表示など)
Shift-JISとかMBCSとか言われる方式です

 

多分↓のがマルチバイトよりも統一的に文字を1つの集合で表すことを指すんだと思う。
ユニコード
複数のエリアの文字を混在処理するために、すべての国の文字を統一的に扱う仕組み
これを使うとあらゆる国の文字(たとえばチベット文字とロシア語)を混在表示できます
Windowsの内部はUnicodeUTF-16という方式でエンコードした文字列を使っています

ちなみに、うんと昔のUnicode 1.0は1文字=16ビット(2バイト)の固定幅でしたが、マイナーな漢字などが入りきらなくなったので
2.0以降(あるいは国際規格の ISO 10646)では、31ビット幅になっています。

 

バイトコードとは

https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%B3%E3%83%BC%E3%83%89