2015年8月24日 11:00
Pythonで学ぶ 基礎からのプログラミング入門 (14) Pythonで日本語を扱うには? - 文字コードについて理解しよう
と呼ばれる文字コードが使われることが多いです。たとえばASCIIコードだと「01100001」は「a」に対応し、その次の「01100010」は「b」に対応しています。ただ、先にお伝えしたように2進数だと桁が長いので、一般的には16進数で文字コードを表現します。aとbはそれぞれ以下のようになります。
>>> hex(int(’01100001’, 2)) # a
’0x61’
>>> hex(int(’01100010’, 2)) # b
’0x62’
以下にASCIIコードの一部を記載します。
見てもらうとわかりますが、文字1文字が1バイトに対応していますね。1バイトは8ビットなので2の8乗パターンの組み合わせ、つまり0~255の256パターンが存在します。アルファベットや数字、改行などのいくつかの特殊記号だけであれば256パターンもあれば表現できます。
○1バイトで表現できないマルチバイト文字
ただ、よく考えてみてください。日本語はどう考えても1バイト=256個じゃ足りないですね。そこで日本語を扱うときは複数バイトを使います。2バイトにするだけでも65536パターン、3バイトにすれば16777216パターンの組み合わせが表現できます。