Unicode文字の探し方 — コードポイント・エスケープ形式の使い分け
Unicodeは世界中の文字・記号・絵文字を統一的に扱う文字コード規格です。開発者がHTMLエンティティやJSエスケープを使う場面では、コードポイントを正確に把握することが欠かせません。Unicode Browserを使えば、文字名やコードポイントで即座に目的の文字を見つけられます。
コードポイントとは何か
Unicodeのコードポイントは各文字に割り当てられた整数値です。「A」はU+0041、「あ」はU+3042のように表記します。現在のUnicodeは0〜0x10FFFFの範囲(約110万文字分)を定義し、実際に割り当てられているのは約15万字です。BMP(基本多言語面 / U+0000〜U+FFFF)内の文字は4桁のHEXで表し、それ以外はU+10000〜の5〜6桁になります。
UTF-8・UTF-16・UTF-32の違い
UTF-8はASCII互換の可変長エンコーディングで、1〜4バイトで1文字を表します。Webと最もよく使われます。UTF-16は2または4バイトで表し、U+10000以上の文字にはサロゲートペアを使います。JavaのStringやWindowsの内部表現です。UTF-32は固定4バイトでシンプルですが容量が大きく、データベースや特定の処理系で使われます。文字を正しく処理するにはエンコーディングの違いを理解することが重要です。
HTMLエンティティとJSエスケープの使い分け
HTMLで特殊文字を表示するには❤(♥ の十進表記)や❤(十六進表記)、♥のような名前付きエンティティを使います。JavaScriptでは\u2764や\u{1F600}(ES2015以降、補助文字に対応)でエスケープします。CSSのcontent属性では content: '\2764' のようにバックスラッシュ+HEXで表記します。用途に応じた形式をUnicode Browserの詳細パネルからコピーできます。
開発者が知っておくべき主要ブロック
Basic Latin(U+0020〜U+007E)はASCII文字すべてを含みます。Arrows(U+2190〜U+21FF)はUI用の矢印記号が豊富です。Mathematical Operators(U+2200〜U+22FF)には∞・∑・√など数式記号が揃います。Emoticons(U+1F600〜U+1F64F)は顔文字絵文字のブロックです。Hiragana/Katakana(U+3040〜U+30FF)は日本語仮名の全文字を含みます。Box Drawing(U+2500〜U+257F)はターミナルUI作成に使えます。