itslabtime.com

情報・計算・データ表現

二進数と文字エンコーディング

ビット列の意味は、その解釈方法によって異なります。同じ 0 と 1 が、整数、文字、または色を表現することができます。

関連する実験:二進数と文字エンコーディング →
二進数と文字エンコーディング
二進数と文字エンコーディングの実験画面 →

概念と仕組み

これは、各桁が2のべき乗である数の表現です。 ‘n’ ビットを用いることで、2ⁿ のパターンを表現でき、符号なし整数範囲は 0 から 2ⁿ − 1 までの範囲になります。

Unicodeは文字にコードポイントを割り当て、UTF-8はそのコードポイントをバイト列としてエンコードします。文字は常に1バイトを占有するとは限りません。

関係式と成立条件

unsigned整数は、N=Σbᵢ2ⁱとして読み取られます。UTF-8は、コードポイントに応じて1~4バイトを使用するため、文字列のバイト数は、文字数とは異なる場合があります。

画面に表示される単位は、複数のコードポイントで構成されることがあります。区切り文字と整数値を持つ単位は、他の文字エンコーディングとは異なる独自の解釈ルールを使用します。

仮想実験で読み取る変化

同じビット列も解釈により異なる情報になります。

整数は符号なし8ビットです。UTF-8は選択文字を実際のバイト列にします。

重要な関係式と記号

N = Σbᵢ2ⁱ · count = 2ⁿ

式で使う記号と単位
記号意味単位
bᵢi番目のビット0または1
byte8ビットのまとまり8 bit
コードポイントUnicodeの文字識別値整数の識別子

例で確かめる

UTF-8の文字は全て1バイトですか?

文字で異なります · 同じビット列も解釈により異なる情報になります。

よくある誤解

  • 単に8ビットのビット列が示されている場合でも、それがどの文字を表しているかを必ずしも特定することはできません。

この概念を実験で確かめる

参考資料

OpenStax · Introduction to Computer Science(英語)