UnicodeとUTF-16とUTF-8の違いについてです。秀丸で文字コードを確認します。
目次
確認 | UnicodeとUTF-16とUTF-8の違い |
アルファベットの文字「A」を確認する | |
ひらがなの文字「あ」を確認する | |
サロゲートペアの文字「????」を確認する | |
円記号のコピペは要注意 | |
秀丸は絵文字にも対応している |
UnicodeとUTF-16とUTF-8の違い
Unicodeは、文字集合です。世界中の文字を集めたものでそれぞれの文字に番号が振られています。
UTF-16とUTF-8は符号化方式です。パソコンで使用するためにUnicodeを変換した番号が振られています。
UTF-16とUTF-8の振られた番号は別々ですが、同じ文字集合のUnicodeから変換されているので持っている文字の種類は同じです。
Unicode | UTF-16 | UTF-8 | ||
---|---|---|---|---|
文字 | コードポイント | (10進数) | ||
A | U+0041 | 65 | 0x0041 | 41 |
あ | U+3042 | 12354 | 0x3042 | E3 81 82 |
文字集合と符号化方式は、正式には符号化文字集合と文字符号化方式といいます。
https://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E9%9B%86%E5%90%88
アルファベットの文字「A」を確認する
秀丸でアルファベットの文字Aを確認します。
Unicodeは、U+0041となっています。頭にU+がつきその後に文字コードがあります。Unicodeコードポイントです。
その下のUnicode(UTF-16)は、UTF-16です。頭に0xがつき数値の部分はUnicodeと同じ「0041」です。この文字「A」で2バイト使用しています。
その下のUnicode(UTF-8)は、UTF-8です。数値は「41」です。1バイト使用しています。
数値文字参照
上記イメージ図の下の方にあるHTML(10進数)の「A」とHTML(16進数)の「A」は、数値文字参照で使用できます。
HTML文書内で「A」または「A」と記述すると、画面表示時は、「A」と表示されます。
ひらがなの文字「あ」を確認する
秀丸でひらがなの文字「あ」を確認します。
Unicodeは、U+3042となっています。
UTF-16の数値の部分はUnicodeと同じ「3042」です。2バイト使用しています。
UTF-8は、「E3 81 82」です。3バイト使用しています。
日本語の場合、UTF-16の方が使用するバイト数が少なくなります。
サロゲートペアの文字「????」を確認する
サロゲートペアの文字「????」(つちよし)を確認します。
サロゲートペアとは、当初の想定より文字が増えたため、後から追加した文字です。
Unicodeは、U+00020BB7となっています。数値の部分が8桁になっています。
UTF-16は、「0xD842」と「0xDFB7」の2つになっています。2バイト*2で4バイト使用しています。上位サロゲートと下位サロゲートといいます。
UTF-8は、「F0 A0 AE B7」です。4バイト使用しています。
ちなみにデータベース「MySQL」のUTF-8 mb4は、4バイトに対応しているUTF-8のことです。
Shift-JISでは、文字コードが表示されていません。
円記号のコピペは要注意
注意が必要な円記号についてです。
上記の円記号は、見た目は同じですが文字コードが異なっています。
①のShift-JISは「0x5c」ですが、②のShift-JISにはありません。Unicode、UTF-16、UTF-8の文字コードも異なるので全くの別物です。
Windowsのフォルダのパスは円記号で区切られていますが、①が使用されています。
パス(path)の設定で、②の円記号が入り込んでいてパス設定にハマったことがあります。
(パスをテキストに並べて確認しても見た目は同じなので間違いに気づきません)
Webの円記号をコピペするとたまにあるので注意が必要です。
秀丸は絵文字にも対応している
絵文字は後から追加された4バイトの文字です。
秀丸は、4バイトのUTF-16/UTF-8にも対応しているので絵文字も表示できます。
以下は、テキスト入力欄に、寿司(🍣)の絵文字がある図です。
※「すし」と入力して文字変換すると表示されます。
文字コードを確認すると、UTF-16/UTF-8には、4バイトの文字コードが振られていることがわかります。Shift-JISのコードはないのでファイルをShift-JISで開くと文字化けします。
※秀丸はテキストエディタですが文字コードの確認もできます。
文字コードの表示方法は以下を参照下さい。
秀丸 文字コードを確認する方法
関連の記事