Unicodeガイド · 2026年10月20日更新
UnicodeとASCIIの違い
ASCIIは基本的なラテン文字や制御文字の128値を扱います。Unicodeはさまざまな文字体系の文字にコードポイントを割り当てます。UTF-8はUnicode文字をバイト列に符号化する方式です。
ASCII・Unicode・UTF-8を比較
| 用語 | 役割 | 例 |
|---|---|---|
| ASCII | 7ビットの文字集合と符号化方式 | A = 65 (41) |
| Unicode | 文字にコードポイントを割り当てる標準 | A = U+0041; é = U+00E9 |
| UTF-8 | 可変長のUnicodeバイト符号化方式 | A → 41; é → C3 A9 |
コードポイントは文字を識別するもので、バイト列そのものではありません。U+00E9はUTF-8でC3 A9になります。見える形はフォントが決めます。
ASCIIとUnicodeに互換性はありますか?
UnicodeはU+0000からU+007FまでASCIIの割り当てを保持します。UTF-8は同じ1バイトを使うため、ASCIIの文字列は有効なUTF-8です。UTF-16では異なるコード単位を使います。é、 中、♥などは厳密なASCIIには符号化できません。「拡張ASCII」にはWindows-1252など具体的な文字コードの指定が必要です。
UnicodeからASCIIへの変換とは?
ASCIIだけの文字列は保持できます。それ以外は拒否、置換、翻字、エスケープの方針を明示してください。éをeにするとアクセントが失われます。エスケープはコードポイントを示しますが、見える記号は保持しません。無断で文字を削除するとデータが壊れます。任意のUnicodeを情報を失わずにそのままのASCII文字に変換する方法はありません。BijoyやKrutiDevには正確な対象形式に合った検証済みの対応表が必要です。
違いを試す
変換ツールでA、é、♥を確認してください。ホームの生成ツールは対応文字を装飾Unicodeに置き換えるもので、ファイルの文字コードは変えません。