ここで使う 3 つの用語
ASCII
英数字などの番号表(0x00〜0x7F)
Unicode
世界中の文字に番号を付ける仕組み(例:あ = U+3042)
UTF-8
Unicode の書き方(バイト列)。英字は1バイト、日本語は複数バイト
01
あなたの名前を 0/1 に
名前
→
① ASCII(10進)
→
② 2進数
→
③ 16進数
半角英字のみ(A–Z, a–z)。スペースも可。まず ASCII 表で各文字の十進数を調べ、次に 2進数・16進数へ変換しよう。
※ 半角英字とスペースのみ。スペースも 1 文字(32)である
02
日本語 1 文字を UTF-8 へ
好きな漢字・ひらがな・カタカナを1文字入力してください。まず「何バイト使うか」を予測してから答えを確認しよう。
絵文字(😀 など)も入る。何バイトになるか試してみよう。
← 好きな文字を1つ
この文字、UTF-8 では何バイトだと思う?
Unicode:
UTF-8(16進):
UTF-8(2進):
合計バイト数:
UTF-8 ビットパターン
03
バイトが生きものになる
名前を UTF-8 のバイト列に変えると、1 バイトが 1 つの部品を選ぶ。ただし使うのは情報バイトだけである—— 02 で見たとおり、日本語の 1 バイト目 1110xxxx は「これから 3 バイト続く」という目印で、 文字そのものの中身は 2・3 バイト目に入っている。目印で形を決めると、日本語の名前はみな同じ形になってしまう。
下の対応表で、自分のどのバイトが何を選んだかを最後まで追える。同じ名前からは必ず同じ生きものが出る——それが符号化の決まりごとである。
試す:
名前のバイト列(文字 → UTF-8)
バイト → 部品 対応表
ここまでで分かること。文字は番号になり、番号はバイトになり、バイトは何にでも使える——形にも、色にも。
コンピュータの中では「文字」と「絵」の区別はなく、どちらも同じ 0 と 1 の列である。
04
余裕があれば:色も 0/1 に(RGB → HEX)
文字だけでなく、色もデータである。R・G・B それぞれ 0〜255(8ビット = 1バイト)なので、1色 = 3バイト = 24ビット。01 で使った変換がそのまま使える。授業内では飛ばしてよい。
カラーピッカーで色を選び、表示された RGB 値から HEX コードを手で計算して入力しよう。
RGB(10進):