ASCIIとUnicodeコードポイントとは
コンピュータはすべての文字を数値として記憶します。各文字に固有の番号を割り当てた規則が文字符号化標準であり、ASCIIとUnicodeは最も広く使われる2つの規格です。このツールは文字とコード値を双方向で即時検索できます。
ASCIIコードの基礎
ASCII(American Standard Code for Information Interchange)は1963年に制定された7ビットの文字コードで、0〜127番の128文字を定義します。大文字「A」は65番、小文字「a」は97番、スペースは32番です。大文字と小文字の差は一定の32で、ビット演算による変換が容易です。0〜31番と127番は改行(10)・タブ(9)・NULL(0)などの制御文字です。
UnicodeとUTF-8
Unicodeは世界中のすべての言語と記号を一つの体系で統一した国際規格です。U+0000からU+10FFFFまで約110万個のコードポイントを提供し、現在15万文字以上が割り当てられています。ひらがな・カタカナはU+3040〜U+30FF、漢字はU+4E00〜U+9FFF付近(CJK統合漢字)に位置します。UTF-8はUnicodeを実際のバイト列に変換する符号化方式で、ASCII(1バイト)と完全互換です。
活用場面
Webフロントエンドでは、HTMLエンティティ(A → A)やCSS content属性(\0041)でコードポイントが必要になります。PythonではordとchrでPython、JavaScriptでは'A'.codePointAt(0)とString.fromCodePoint(65)が対応関数です。正規表現のUnicode範囲指定や、文字化け調査にも役立ちます。
よくある質問
- UTF-8とUnicodeの違いは何ですか?
- Unicodeは文字に番号を割り当てる規格で、UTF-8はその番号をバイト列として保存する符号化方式です。UTF-8はASCIIと互換性があり、日本語の1文字は通常3バイトで保存されます。
- BOM(バイト順マーク)とは何ですか?
- BOMはファイルの先頭に置かれるU+FEFFコードで、ファイルのバイト順と符号化方式を識別するマーカーです。UTF-8では通常不要ですが、一部のWindowsアプリケーションで使用されます。