文字コード | 「あ」のコード |
---|---|
UTF-8 | 0xE38182 |
UTF-16 | 0x3042 |
Shift_JIS | 0x82A0 |
EUC-JP | 0xA4A2 |
UCSとは、符号化された文字集合の国際標準です。UCSとは|ISO/IEC 10646|Universal multi-octet coded Character Set - 意味/定義 : IT用語辞典
UTFとは、UCS-2やUCS-4で記述された文字列を、バイト列に変換する方式です。これには次の4種類があります。
UCS-2では個々の文字に2バイトの番号 (コードポイント) を割り当て、0~65,535番までに対応する文字が定められています。これの文字符号化方式には、UTF-8、UTF-16やUTF-32などが利用できます。UCS-2とは|BMP|基本多言語面|Universal multi-octet Character Set 2 - 意味/定義 : IT用語辞典
UCS-4は4バイトで定義され、上位のバイトからそれぞれ
と呼ばれます。このうち群00の面00は、UCS-2として定義されています。UCS-4とは|Universal multi-octet Character Set 4 - 意味/定義 : IT用語辞典
Unicodeでは、すべての文字はU+0000~U+10FFFFの範囲に割り当てられています。そしてこのUnicode値 (Unicode value) はコードポイント (Code point) と呼称され、
の3つのエンコーディング方式 (符号化方式) により符号化されます。
Find all Unicode characters from Hieroglyphs to Dingbats – Codepoints下表の規則に従い符号化します。1
と0
が指定されている場所はその値に固定で、x
の場所にコードポイントのビットを右から詰めていきます。
コードポイントの範囲 (16進数) | 符号化後のビット列 |
---|---|
00000000~0000007F | 0xxxxxxx |
00000080~000007FF | 110xxxxx 10xxxxxx |
00000800~0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
00010000~0010FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
00110000~ |
コードポイントがU+FFFFまでの範囲ならばそのまま2バイトで、それ以降のU+10FFFFまでならばサロゲートペアを用いて4バイトで表現します。
2バイトの空間に収まらないU+010000~U+10FFFFの文字を、4バイトで表現する方法です。
とするとき、コードポイントからサロゲートペアへは、次の式で変換できます。
H = (C - 0x10000) / 0x400 + 0xD800; L = (C - 0x10000) % 0x400 + 0xDC00;
逆にコードポイントへは、次の式となります。
C = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000;3.7 Surrogates - Unicode 3.0.0 サロゲートペア - Unicode - Wikipedia
コードポイントをそのまま用いて、つねに32bit (4byte) で表現します。
BOMとは、エンディアンを示すためにファイルの先頭に記述される値です。UTF-8ではエンディアンは無関係ですが、Unicodeであることを示すために付けられることがあります。BOMとは|Byte Order Mark - 意味/定義 : IT用語辞典
BOMの値 | エンコーディング形式 | 符号化方式 | |
---|---|---|---|
EF BB BF | UTF-8 | UTF-8 | |
FE FF | UTF-16, big-endian | (UTF-16BE) | UTF-16 |
FF FE | UTF-16, little-endian | (UTF-16LE) | |
00 00 FE FF | UTF-32, big-endian | (UTF-32BE) | UTF-32 |
FF FE 00 00 | UTF-32, little-endian | (UTF-32LE) |
単にUTF-16やUTF-32と呼称される場合には、バイト順はそのBOMによって決定されます。Q: What are some of the differences between the UTFs? - FAQ - UTF-8, UTF-16, UTF-32 & BOM
CJK統合漢字 (CJK unified ideographs)
中国語、日本語、韓国語で使用される漢字を統合したもの。CJKはChina、Japan、Koreaの頭文字をとったもの。
CJK統合漢字では、中国語と日本語、韓国語に使われる漢字のうち、字形と文字の意味がよく似ているものを同じ漢字として扱う。このため、日本語の文中に中国語を混ぜたい場合などに不都合があることが指摘されている。
Unicodeでは全部で65,536種類の文字を割り当てられるが、CJK統合漢字はこのうちの20,902文字を使用している
CJK統合漢字 - 意味・説明・解説 : ASCII.jpデジタル用語辞典
ブラウザによって表示される画像が異なり、サポートされない絵文字もあります。
名称 | Unicodeの範囲 | 表示例 |
---|---|---|
UMBRELLA WITH RAIN DROPS..HOT BEVERAGE Miscellaneous Symbols | 2614~2615 | ☔ ☕ |
Regional indicator symbols※1 Enclosed Alphanumeric Supplement | 1F1E6~1F1FF | 🇦 🇧 🇨 🇩 🇪 🇫 🇬 🇭 🇮 🇯 🇰 🇱 🇲 🇳 🇴 🇵 🇶 🇷 🇸 🇹 🇺 🇻 🇼 🇽 🇾 🇿 |
SQUARED CJK UNIFIED IDEOGRAPH Enclosed Ideographic Supplement | 1F232~1F23A | 🈲 🈳 🈴 🈵 🈶 🈷 🈸 🈹 🈺 |
GRINNING FACE WITH SMILING EYES..NEUTRAL FACE Emoticons | 1F601~1F610 | 😁 😂 😃 😄 😅 😆 😇 😈 😉 😊 😋 😌 😍 😎 😏 😐 |
サポートされる絵文字のすべては、Full Emoji Dataで確認できます。
ページサイズが大きいため、表示に時間がかかることがあります
種類ごとに分頼された絵文字を、Emoji Annotationsで確認できます。このページでは個々の絵文字の文字コードを、その要素のtitle属性またはリンク先のページで確認できます。
また、📙 Emojipediaでも種類ごとに確認できます。
ブロックとは、Unicodeのコード表を系統だてるための文字の分類です。Block - Glossary
Unicodeブロック | UTF-8 | UTF-16 | 文字 |
---|---|---|---|
Hiragana |
E38180 | 3040 | |
E38181 | 3041 | ぁ | |
E38182 | 3042 | あ | |
E38183 | 3043 | ぃ | |
︙ | |||
Katakana |
E382A0 | 30A0 | ゠ |
E382A1 | 30A1 | ァ | |
E382A2 | 30A2 | ア | |
E382A3 | 30A3 | ィ | |
︙ | |||
CJK Unified Ideographs |
E4B880 | 4E00 | 一 |
E4B881 | 4E01 | 丁 | |
E4B882 | 4E02 | 丂 | |
︙ | |||
Halfwidth and Fullwidth Forms
Halfwidth and Fullwidth Forms |
EFBC80 | FF00 | |
EFBC81 | FF01 | ! | |
EFBC82 | FF02 | " | |
︙ |
異体字セレクタにより指定された文字を正しく表示するには、それに対応したソフトウェアとフォントが必要です。
コード | 表示例 | 文字参照による表記 | |||
---|---|---|---|---|---|
表記1 | 表示例1 | 表記2 | 表示例2 | ||
U+845BU+E0100 | 葛󠄀 | 葛󠄀 |
葛󠄀 | 葛󠄀 |
葛󠄀 |
U+845BU+E0101 | 葛󠄁 | 葛󠄁 |
葛󠄁 | 葛󠄁 |
葛󠄁 |
「ガ
」と「ガ
」のように、外見は似ているが異なる文字を統一する方法を考えます。
日本語の電子メールで利用されています。
Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit
次のコードを基に実装されています。
漢字は次の範囲が定義されています。
これ以外は独自の実装が多く、使用には注意が必要です。
MicrosoftによるShift_JISの実装です。
CP932には重複コードがあるため、Unicodeとは単純に変換できないことがあります。[PRB] SHIFT - JIS と Unicode 間の変換問題
Unix向けの文字コードで、文字体系ごとに次のようなコードがあります。
文字コードが不明な文字は、バイナリエディタでデータを確認することで推測できます。
Windows付属のツールで、インストールされているフォントの一覧から、文字コードを確認できます。このツールの実体は、%WINDIR%\System32\charmap.exeにあります。
たとえばShift_JISの「あ」のコードを調べるには、グループを[シフト JIS カテゴリによる入力]とし、カテゴリで[ひらがなとカタカナ]を指定します。そうすると仮名文字だけが表示されるため、そこで「あ」を選択するとウィンドウ下部に「U+3042 (0x82A0): Hiragana Letter A」と表示され、Shift_JISのコードで「0x82A0」であることを確認できます。