Unicodeとは何か:文字コードを初心者向けに整理

入門 | 10分 で読める | 2026.06.17

公式ドキュメント

Unicodeとは、世界中の文字に番号を割り当てるための標準です。日本語、英数字、記号、絵文字などを同じルールで扱うための土台になります。

一言でいうと

Unicodeは「文字に番号を付ける標準」であり、UTF-8やUTF-16はその番号を実際のデータとして保存・通信する方式です。

用語の整理

用語意味
文字A😀 のように人間が読むもの
コードポイントUnicodeで割り当てられた番号
エンコーディングコードポイントをバイト列に変換する方式
UTF-8Webでよく使われるエンコーディング
UTF-16JavaScript文字列の内部表現で重要な方式

たとえば、A は Unicode では U+0041 です。 は U+3042 です。

コードポイントとは

コードポイントは、Unicode上の文字番号です。

文字コードポイント
AU+0041
0U+0030
U+3042
U+30A2
U+FF71

同じ「ア」に見える文字でも、全角カタカナの と半角カタカナの は別のコードポイントです。

文字コードという言葉の注意

日本語では「文字コード」という言葉が広く使われますが、会話の中で複数の意味を持つことがあります。

言い方指している可能性
文字コードUnicodeの番号
文字コードUTF-8やShift_JISのような符号化方式
文字コードファイルの保存形式
文字コードcharCodeAt() の戻り値

混乱を避けるには、「コードポイント」「UTF-8」「UTF-16」「バイト列」のように分けて言うと安全です。

UnicodeとJavaScript

JavaScriptでは、文字列はUnicode文字列として扱われます。ただし、charCodeAt() はUnicodeコードポイントではなく、UTF-16コード単位を返します。

console.log("A".charCodeAt(0).toString(16)); // 41
console.log("あ".charCodeAt(0).toString(16)); // 3042

英数字や多くの日本語では直感通りに見えますが、絵文字などでは注意が必要です。

Unicodeが必要な理由

昔は、言語や地域ごとに異なる文字コードが使われていました。そのため、同じバイト列でも環境によって別の文字に見えることがありました。

Unicodeは、世界中の文字を共通の番号体系で扱うことで、文字化けや互換性の問題を減らします。

現代のWebでは、特別な理由がない限りUTF-8を使うのが基本です。

よくある誤解

誤解実際
UnicodeとUTF-8は同じUnicodeは文字番号の標準、UTF-8は符号化方式です
1文字は必ず1バイト日本語や絵文字は複数バイトになります
見た目が同じなら同じ文字コードポイントが違う場合があります
JavaScriptの charCodeAt() は常にコードポイントを返すUTF-16コード単位を返します

まとめ

Unicodeは文字に番号を付ける標準で、UTF-8やUTF-16はその番号を保存・通信するための方式です。JavaScriptの文字列処理では、コードポイント、UTF-16コード単位、見た目の文字を分けて考えることが重要です。

参考リソース

← 一覧に戻る
PR
PR
PR
PR