「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Unicode(ユニコード)

pointこの用語のポイント

point「文字」と「文字に割り当てた番号」の対応表だよ

pointあるいは、UTF-16のことだよ

point文字コードの話で出てくるよ

スポンサーリンク

簡単に書くよ

Unicode(ユニコード)とは

「符号化文字集合」と呼ばれるもののひとつ。
もう少し噛み砕いて書くと

文字コード(文字に割り当てられた数字)の話で出てくる用語のひとつ
であり

コンピュータさんが使う「『文字』と『文字に割り当てた番号』の対応表」のひとつ
です。

あるいは

文字符号化方式(コンピュータさんが使う「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」の対応表)のひとつである「UTF-16」のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「文字コード」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

文字コードは「文字に割り当てられた数字」です。

Unicode

以上を踏まえて、本題に入ります。

まずはイメージ重視のザックリした説明をします。

大前提として、コンピュータさんは「0(ゼロ)」と「1(イチ)」しか分かりません。
人間様が「あ」と入力しても、コンピュータさんは理解できないのです。

Unicode2

でも、コンピュータで文字を扱いたいです。
そこで、文字を数字として扱わせることにしました。

例えば

あ:00000001
い:00000010
う:00000011
え:00000100
お:00000101


のように書いてある対応表を、あらかじめ用意しておくのです。
コンピュータさんには、それを見て、お仕事をしてもらいます。

人間様が「あい」と入力したとしましょう。
対応表には

あ:00000001
い:00000010


と書いてあります。
この対応表をもとにして、コンピュータさんは「あい」を「00000001 00000010」に変換します。

Unicode3

コンピュータさんは数字の0と1しか扱えませんが、これなら大丈夫ですよね。
人間様が

あい

と打った文字は、対応表によって変換され、コンピュータさんは

00000001 00000010

と認識しました。
コンピュータさんが扱うのは数字です。

その後、あれやこれやとコンピュータさんがお仕事をして

00000011 00000100

という返事をよこしました。

今度は、さっきと逆です。
対応表をもとにして、数字を文字に変換します。

対応表には

う:00000011
え:00000100


と書いてあります。

00000011 00000100



うえ

であると分かります。

コンピュータさんは、対応表に従って変換したものを画面に表示しました。
画面には文字「うえ」が表示されます。

Unicode4

このように

文字と数字を変換する

ことで、数字しか分からないコンピュータさんに文字を扱わせているのです。

Unicode5

さて、一連の流れにおいて「文字と数字の対応表」を使いました。
この対応表には、いくつか種類があります。

その何種類かある対応表のひとつが「Unicode」です。
大雑把に言えば、Unicodeは

文字と数字の対応表

ね。

……というのが、大事なところを、かなり大胆に端折った説明です。

次に、もう少し専門的な話をします。
ここから先の説明は結構ややこしいです。
脳みそがパンクしそうになったら、適当に休憩を挟んでください。

先ほど、Unicodeは「文字と数字の対応表」だと説明しました。
この説明はウソではないけどウソです。

一言で「文字と数字の対応表」と表現しましたが、実際には2つの表を使います。
それは

1.「文字」と「文字に割り当てた番号」の対応表
2.「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」の対応表


の2つです。

例えば、そうですね。

ピヨ太君が

あ:P-1
い:P-2
う:P-3
え:P-4
お:P-5


な「文字」と「文字に割り当てた番号」の対応表を作りました。
「番号」と言いつつ文字が混ざっていますが、気にしないでくださいね。

さらに

P-1:00000001
P-2:00000010
P-3:00000011
P-4:00000100
P-5:00000101


な「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」の対応表を作りました。

この2つの表を合体させると

あ:P-1:00000001
い:P-2:00000010
う:P-3:00000011
え:P-4:00000100
お:P-5:00000101


な対応表ができあがります。

この合体した対応表を見れば、コンピュータさんは「あ」「い」「う」「え」「お」の5つの文字を数字として扱えますね。

わざわざ2つの表を使う理由は、とりあえず考えないでください。
それなりの理由があるのですが、今の段階で考えると混乱すると思います。
とにかく、2つの表を使って、文字と数字の変換をやっているのです。

この2つの対応表のうち

1.「文字」と「文字に割り当てた番号」の対応表

を「符号化文字集合」と言います。
符号化文字集合は「変換対象となる文字の一覧」が書いてある表です。

もうひとつの対応表

2.「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」の対応表

は「文字符号化方式」と言います。
文字符号化方式は「文字(に割り当てた番号)に対応する、実際にコンピュータさんが扱う数字」が書いてある表です。

それぞれの対応表の役割は

符号化文字集合:「どの文字を変換するか?」な対象の指定
文字符号化方式:「その文字を、どの数字に変換するか?」な変換内容の指定


です。
2つ併せて「どの文字を、どの数字に置き換えるよ!」な指定になります。
符号化文字集合と文字符号化方式の2つが協力して「文字と数字の対応表」の役割を担っているわけです。

符号化文字集合と文字符号化方式については、何となく分かったでしょうか。
分からない方は、頑張って復習してください。
符号化文字集合と文字符号化方式を理解しているかどうかで、文字コードに対する理解が大きく変わります。

符号化文字集合と文字符号化方式については何となく理解できたと期待して、次にいきましょう。

符号化文字集合には、いくつかの種類があります。
文字符号化方式にも、いくつかの種類があります。

それを踏まえて

いろいろある符号化文字集合のひとつ

が「Unicode」です。

そうです。
Unicodeは符号化文字集合なのです。

それでは、符号化文字集合としてUnicodeを使うときの文字符号化方式は何でしょうね?

符号化文字集合としてUnicodeを使うときの文字符号化方式は

UTF-7
UTF-8
UTF-16
UTF-32


などです。

これがUnicodeとUTF-8などの関係です。

符号化文字集合:Unicode
文字符号化方式:UTF-7、UTF-8、UTF-16、UTF-32


となります。

本来、UnicodeとUTF-8等は種類の違う表です。
ですから、同列に語られるべき存在では ありません。

ですが、UnicodeとUTF-8等が同列に並んでいる場面に遭遇することもあるはずです。
その場合は、Unicodeを「UTF-16」と読み替えてください。

UTF-16は文字符号化方式です。
UTF-8とかの仲間です。
このUTF-16を意図して「Unicode」と表現することがあるのです。
その場合は

符号化文字集合:Unicode
文字符号化方式:Unicode(=UTF-16)


となります。

ややこしいですね。
私も、完璧に理解しているとは言えません。
何となく雰囲気がつかめたら、きちんとした説明が書いてあるところで情報を補完してください。


image piyo2

一言でまとめるよ

まぁ「Unicode」って単語が出てきたら「『文字』と『文字に割り当てた番号』の対応表なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像018
書籍画像018

おまけ

■訳してみるよ

「uni(ユニ)」の意味は「単一」とか「1つ」とかです。
「code(コード)」の意味は「記号」とか「暗号」とか「符号」とか「コード」とかです。
何となく くっつけると

単一の(文字)記号

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
インフルエンサー六法 活動開始から情報発信、収益化までに潜むトラブル対策50
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践