SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

UnicodeとUTF-8は何が違うんですか?

問題

UnicodeとUTF-8は何が違うの?

答え

Unicodeは文字のコード体系。

「あ」は、U+3042
「ぁ」は、U+3043
「い」は、U+3044
……
「送」は、U+9001
……
「큐」は、U+D050
……
……

世界中の文字が集められて、U+0000 から U+FFFFや、U+100000 から U+10FFFFなどのコードが振られている。

UTF-8、UTF-7、UTF-16、UTF-32、UTF-9などは、Unicodeのエンコード方式の一つ。

「あぁい送큐(U+3042 U+3043 U+3044 U+9001 U+D050)」を、それぞれでエンコードして、16進表示すると、

UTF-8

なんとなくなじんでいる1文字3バイトの風景

e3 81 82 e3 81 81 e3 81 84 e9 80 81 ed 81 90

UTF-7

base64エンコードが加わるので見た目はわけわかんない

2b 4d 45 49 77 51 54 42 45 6b 41 48 51 55 41 2d

UTF-16BE

U+~の通りで素直にみえて、ややこしい話もあり

30 42 30 41 30 44 90 01 d0 50

UTF-16LE

U+~の通りで素直にみえて、ややこしい話もあり

42 30 41 30 44 30 01 90 50 d0

関連するメモ

コメント