文字コードとは|Unicode・UTF-8の仕組みと1文字の調べ方

「この文字の文字コードは?」と調べたくなることがあります。本記事では、文字コードの基本的な仕組みと、UnicodeとUTF-8の関係、1文字の文字コードを調べる方法を解説します。

文字コードは「文字に割り当てられた番号」

コンピュータは文字をそのまま扱えないため、1文字ずつに番号を割り当てて管理しています。この番号が文字コードです。「A」には65、「猫」には29483という具合に、文字と番号が1対1で対応しています。

UnicodeとUTF-8の違い

ここが混同されやすい点です。

つまり、Unicodeは「番号の決め方」、UTF-8は「その番号をどう保存するか」という、役割の異なる仕組みです。UTF-8以外にも、UTF-16やShift-JISなど、保存方式にはいくつかの種類があります。

UTF-8は文字によってバイト数が変わる

UTF-8の特徴は、文字によって使うバイト数が1〜4バイトと変わることです。

文字の種類バイト数例
半角英数字1バイトA → 0x41
多くの日本語3バイト猫 → 0xE7 0x8C 0xAB
一部の絵文字4バイト😀 など

「日本語を含む文字列は、見た目の文字数よりバイト数が多くなる」という性質は、データベースの文字数制限やファイルサイズを見積もる際に覚えておくと役立ちます。

文字化けが起きる理由

文字化けは、文字を保存したときのエンコード方式(例: UTF-8)と、読み込むときに想定しているエンコード方式(例: Shift-JIS)が食い違ったときに起きます。同じバイト列でも、どのエンコード方式で解釈するかによって、まったく違う文字として表示されてしまうのです。

1文字の文字コードを調べるには

特定の1文字について、Unicodeのコードポイント、UTF-8でのバイト列、10進数表記、HTMLで使う実体参照(猫のような表記)をまとめて知りたい場合は、文字コード表を使うのが早道です。

まとめ

文字コードは文字に割り当てられた番号で、Unicodeがその番号の決め方、UTF-8が番号の保存方式です。この2つの役割の違いを理解しておくと、文字化けの原因も追いやすくなります。

1文字の文字コードを調べたいときや、テキスト全体をUTF-8・Unicodeコードポイントに変換したいときは、文字コード変換・文字コード表ツールをご利用ください。

戻る