Unicode とは?文字コードの基本をわかりやすく解説
「文字化け」に悩まされた経験はありませんか。その原因の多くは文字コードの不一致です。この記事では、現代のテキスト処理に欠かせない Unicode の基本を解説します。
文字コードとは
コンピュータは文字を数値として扱います。どの数値がどの文字に対応するかを定めたルールが「文字コード」です。代表的な文字コードには以下があります。
| 文字コード | 特徴 | 主な用途 |
|---|---|---|
| ASCII | 英数字・記号のみ (128 文字) | 英語圏の基本 |
| Shift_JIS | 日本語対応 (約 7,000 文字) | Windows 日本語環境 |
| EUC-JP | 日本語対応 | Unix/Linux 日本語環境 |
| Unicode (UTF-8) | 世界中の文字に対応 (14 万文字以上) | Web 標準 |
Unicode が生まれた背景
かつては国や地域ごとに異なる文字コードが使われていたため、異なる環境間でテキストをやり取りすると文字化けが頻発していました。Unicode はこの問題を解決するため、世界中の文字を 1 つの体系で扱えるように設計された国際規格です。
UTF-8 と UTF-16 の違い
Unicode にはいくつかのエンコーディング方式があります。
| 方式 | 1 文字あたりのバイト数 | 特徴 |
|---|---|---|
| UTF-8 | 1〜4 バイト | ASCII 互換、Web 標準 |
| UTF-16 | 2 または 4 バイト | JavaScript 内部で使用 |
| UTF-32 | 固定 4 バイト | 処理が単純だがサイズ大 |
Web では UTF-8 が事実上の標準です。HTML ファイルの先頭に <meta charset="UTF-8"> と記述するのはこのためです。
文字数カウントへの影響
同じ文字列でも、エンコーディングによってバイト数は異なります。たとえば「こんにちは」は 5 文字ですが、UTF-8 では 15 バイト、Shift_JIS では 10 バイトになります。文字カウンタスでは文字数とバイト数の両方を表示するため、用途に応じた確認が可能です。
絵文字と Unicode
絵文字も Unicode で定義されています。ただし、絵文字は見た目は 1 文字でも、内部的には複数のコードポイントで構成されることがあります。たとえば「👨👩👧👦」(家族の絵文字) は 7 つのコードポイントから成り、プログラムによっては 7 文字とカウントされる場合があります。
まとめ
Unicode は現代のテキスト処理の基盤です。文字数とバイト数の違いを理解しておくと、システム開発やコンテンツ制作で役立ちます。文字カウンタスで文字数・バイト数を確認しながら作業を進めましょう。