HTML Unicode(UTF-8)リファレンス


ユニコードコンソーシアム

UnicodeコンソーシアムはUnicode標準を開発しています。彼らの目標は、既存の文字セットを標準のUnicode Transformation Format(UTF)に置き換えることです。

Unicode標準は成功を収めており、HTML、XML、Java、JavaScript、電子メール、ASP、PHPなどで実装されています。Unicode標準は、多くのオペレーティングシステムとすべての最新のブラウザでもサポートされています。

Unicodeコンソーシアムは、ISO、W3C、ECMAなどの主要な標準開発組織と協力しています。


Unicode文字セット

Unicodeは、さまざまな文字セットで実装できます。最も一般的に使用されるエンコーディングはUTF-8とUTF-16です。

Character-set Description
UTF-8 A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages
UTF-16 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows, Java and .NET.

ヒント: Unicodeの最初の128文字(ASCIIと1対1で対応)は、ASCIIと同じバイナリ値を持つ単一のオクテットを使用してエンコードされ、有効なASCIIテキストをUTF-8でエンコードされたUnicodeでも有効にします。

HTML4はUTF-8をサポートしています。HTML 5はUTF-8とUTF-16の両方をサポートしています!


HTML5標準:Unicode UTF-8

ISO-8859の文字セットはサイズが制限されており、多言語環境では互換性がないため、UnicodeコンソーシアムはUnicode標準を開発しました。

Unicode標準は、(ほぼ)世界中のすべての文字、句読点、および記号を対象としています。

Unicodeを使用すると、プラットフォームや言語に関係なく、テキストの処理、保存、および転送が可能になります。

HTML-5のデフォルトの文字エンコードはUTF-8です。

HTML5 WebページがUTF-8とは異なる文字セットを使用している場合は、次のように<meta>タグで指定する必要があります。

<meta charset="ISO-8859-1">


UnicodeとUTF-8の違い

Unicodeは文字セットです。UTF-8はエンコーディングです。

Unicodeは、一意の10進数(コードポイント)を持つ文字のリストです。A = 65、B = 66、C = 67、...。

この10進数のリストは、文字列「hello」を表します。104101 108 108 111

エンコーディングとは、これらの数値を2進数に変換して、コンピューターに保存する方法です。

UTF-8エンコーディングは次のように「hello」を格納します(バイナリ):01101000 01100101 01101100 01101100 01101111

エンコーディングは数値を2進数に変換します。文字セットは、文字を数字に変換します。


HTML5UTF-8文字コード

以下は、HTML5でサポートされているUTF-8文字コードの一部のリストです。

Character codes Decimal Hexadecimal
C0 Controls and Basic Latin 0-127 0000-007F
C1 Controls and Latin-1 Supplement 128-255 0080-00FF
Latin Extended-A 256-383 0100-017F
Latin Extended-B 384-591 0180-024F
Spacing Modifiers 688-767 02B0-02FF
Diacritical Marks 768-879 0300-036F
Greek and Coptic 880-1023 0370-03FF
Cyrillic Basic 1024-1279 0400-04FF
Cyrillic Supplement 1280-1327 0500-052F
General Punctuation 8192-8303 2000-206F
Currency Symbols 8352-8399 20A0-20CF
Letterlike Symbols 8448-8527 2100-214F
Arrows 8592-8703 2190-21FF
Mathematical Operators 8704-8959 2200-22FF
Box Drawings 9472-9599 2500-257F
Block Elements 9600-9631 2580-259F
Geometric Shapes 9632-9727 25A0-25FF
Miscellaneous Symbols 9728-9983 2600-26FF
Dingbats 9984-10175 2700-27BF