Unicode(ユニコード)とは?
世界中のあらゆる文字に一意のコードポイントを割り当てた国際文字コード標準。UTF-8・UTF-16・UTF-32がエンコーディング方式
詳細解説
Unicode(ユニコード)は、世界中の言語・文字・記号・絵文字(Emoji)に対して、一意の番号(コードポイント)を割り当てた国際文字コード標準です。Unicode Consortiumが管理し、ISO/IEC 10646と整合が取れています。Unicodeが登場した背景はASCII等の従来文字コードが言語ごとに乱立し、異なる言語を混在させたり国際化対応が困難だった問題を解決するためです。Unicodeは現在14万文字以上(バージョン15時点)のコードポイントを持ち、日本語・中国語・韓国語(CJK統合漢字)・アラビア語・ヒンディー語・絵文字など多言語に対応します。Unicodeのエンコーディング(バイト列への変換方式)は3種類あります。UTF-8:ASCII互換の可変長符号。ASCII文字は1バイト・日本語等は2〜4バイト。現在のWebの標準でHTTPやJSONのデフォルト。UTF-16:基本的に2バイト単位(サロゲートペアで4バイト)。WindowsのNT系内部・JavaのString・JavaScript文字列表現で使用。UTF-32:固定長4バイトで全文字を表現。メモリ効率が悪いが処理が単純。コードポイントはU+で始まる16進数で表記します(例:「A」はU+0041、「あ」はU+3042、ハートの絵文字はU+2764)。Unicodeはサロゲートペア(U+D800〜U+DFFF範囲を使いBMP外の文字を表現)・結合文字(複数コードポイントで1文字を表現・例:「が」=「か」+濁点)など特殊な仕様もあります。ITパスポートでは「Unicodeの目的(多言語統一)」「UTF-8がWeb標準である理由」「コードポイントの概念」が出題されます。
ITパスポートでの出題ポイント
- 1世界中の文字に一意のコードポイントを割り当てた国際標準
- 2UTF-8はASCII互換の可変長符号。現在のWebのデフォルト
- 3UTF-16はWindowsやJavaの内部表現。UTF-32は固定長4バイト
- 4コードポイントはU+始まりの16進数(例:「あ」= U+3042)