この付録では、Unicode文字の割当てを紹介します。ここでは、次の項目について説明します。
表B-1に、UnicodeでUTF-16文字コード用に割り当てられているコード範囲を示します。
表B-1 UTF-16文字コード用のUnicode文字コード範囲
文字のタイプ | 最初の16ビット | 次の16ビット |
---|---|---|
ASCII |
0000-007F |
- |
ヨーロッパ語(ASCIIを除く)、アラビア語、ヘブライ語 |
0080-07FF |
- |
インド語、タイ語、記号(ユーロ記号など)、中国語、日本語、韓国語 |
0800-0FFF 1000 - CFFF D000 - D7FF F900-FFFF |
- |
Private Use Area #1 |
E000 - EFFF F000 - F8FF |
- |
補助文字: その他の中国語、日本語および韓国語の文字、旧漢字、音楽記号および数学記号 |
D800 - D8BF D8C0 - DABF DAC0 - DB7F |
DC00 - DFFF DC00 - DFFF DC00 - DFFF |
Private Use Area #2 |
DB80 - DBBF DBC0 - DBFF |
DC00 - DFFF DC00 - DFFF |
表B-2に、UnicodeでUTF-8文字コード用に割り当てられているコード範囲を示します。
表B-2 UTF-8文字コード用のUnicode文字コード範囲
文字のタイプ | 第1バイト | 第2バイト | 第3バイト | 第4バイト |
---|---|---|---|---|
ASCII |
00-7F |
- |
- |
- |
ヨーロッパ語(ASCIIを除く)、アラビア語、ヘブライ語 |
C2-DF |
80-BF |
- |
- |
インド語、タイ語、記号(ユーロ記号など)、中国語、日本語、韓国語 |
E0 E1-EC ED EF |
A0-BF 80-BF 80-9F A4-BF |
80-BF 80-BF 80-BF 80-BF |
- |
Private Use Area #1 |
EE EF |
80-BF 80-A3 |
80-BF 80-BF |
- |
補助文字: その他の中国語、日本語および韓国語の文字、旧漢字、音楽記号および数学記号 |
F0 F1-F2 F3 |
90-BF 80-BF 80-AF |
80-BF 80-BF 80-BF |
80-BF 80-BF 80-BF |
Private Use Area #2 |
F3 F4 |
B0-BF 80-8F |
80-BF 80-BF |
80-BF 80-BF |
注意: 空白は、適用外のコード割当てを示します。文字コードは16進表現で示されています。 |
表B-1のように、一部の文字(その他の中国語/日本語/韓国語の文字およびPrivate Use Area #2)のUTF-16文字コードは、2単位の16ビットで表現されます。これらは補助文字です。1つの補助文字は、2つの16ビット値で構成されています。最初の16ビット値は0xD800〜0xDBFFの範囲内でエンコードされます。次の16ビット値は0xDC00〜0xDFFFの範囲内でエンコードされます。補助文字を使用すると、UTF-16文字コードは100万種類以上の文字を表現できます。補助文字を使用しなければ、65,536文字しか表現できません。OracleデータベースのAL16UTF16キャラクタ・セットは、補助文字をサポートしています。
表B-2のUTF-8文字コードは、次の条件が適用されることを示しています。
ASCII文字には1バイトを使用します。
ヨーロッパ語(ASCIIを除く)、アラビア語およびヘブライ語の文字の場合は、2バイト必要です。
インド語、タイ語、中国語、日本語および韓国語の文字、およびユーロなどの記号の場合は、3バイト必要です。
Private Use Area #1の文字の場合は、3バイト必要です。
補助文字の場合は、4バイト必要です。
Private Use Area #2の文字の場合は、4バイト必要です。
OracleデータベースのAL32UTF8キャラクタ・セットは、1バイト、2バイト、3バイトおよび4バイト値をサポートしています。OracleデータベースのUTF8キャラクタ・セットは、1バイト、2バイトおよび3バイト値をサポートしていますが、4バイト値はサポートしていません。