HTML 中国語文字エンコード標準の概要

HTML 中国語文字エンコード標準の概要

HTML では、Web ページで使用されるエンコーディングを指定する必要があります。一般的な指定方法は次のとおりです。

<meta http-equiv="コンテンツタイプ" content="text/html;charset=UTF-8">

HTML5 の新しいバージョンでは、より簡単な方法も使用できます。

<メタ文字セット="UTF-8">

世界では多くの言語や文字が使用されているため、言語間およびプラットフォーム間のテキスト変換と処理の要件を満たすために、国際組織は Unicode エンコードを開発しました。これは 1994 年に正式に発表され、継続的にアップグレードされてきました。1,114,112 個のコード ポイントを提供し、古代の筆記記号を含む、人間が読めるすべての文字の文字セットを定義します。ただし、非常に多くの文字を表現するために、Unicode エンコードでは通常 1 文字を表現するのに 32 ビット (つまり 4 バイト) が使用され、比較的大きなストレージ スペースを占有します。よく使用される文字 (ASCII など) ではエンコードに長い時間が必要になり、メモリの使用効率は比較的低くなります。

この目的のために、8 ビット コード単位を使用する可変幅エンコード形式 UTF-8 が定義されています。 UTF-8 エンコーディングでは、よく使用される文字は少ないバイト数で表現できますが、あまり使用されない文字はより多くのバイト数を使用するため、エンコーディングのスペース占有効率が向上します。たとえば、ASCII コードは依然として 1 バイトで表されますが、これはエンコード内のいくつかの上位ビットを識別することによって実現され、ASCII エンコードと Unicode の間に橋渡しが行われます。具体的なエンコード方法は次のとおりです。
0000~007F: 0xxxxxxx、1バイトとして保存され、7ビットで異なる文字を表し、通常はASCII文字に対応します。
0080~07FF: 110xxxxx、10xxxxxx、2バイトとして保存され、11ビットで異なる文字を表すことができます
0800~FFFF: 1110xxxx、10xxxxxx、10xxxxxx、3バイトとして保存され、16ビットは異なる文字を表すために使用されます
10000~1FFFFF: 11110xxx、10xxxxxx、10xxxxxx、10xxxxxx は 4 バイトとして保存され、21 ビットが異なる文字を表します。パターンは次のようになります。最上位ビットが 0 でない場合、数字の 0 の前の数字は、シーケンスに含まれるコード要素の数を表します。シーケンス内の最初のコードワードの後のすべてのコードワードには、プレフィックス 10 が付きます。 Unicode エンコーディングには、UTF-16 や UTF-32 などの他のエンコーディング形式もありますが、UTF-8 の方が一般的に使用されており、すべてのエンコーディング セットを表すこともできます。

かつて、コンピューターで中国語の文字を表すために最もよく使われていたエンコードは、1980 年にリリースされた GB2312 でした。その正式名称は「情報交換用中国語文字コード化文字セット - 基本セット」です。これは 2 バイトを使用して中国語の文字を表し、合計 6763 個の中国語文字と 682 個の非中国語グラフィック文字が含まれており、ASCII 文字セットと互換性があります。しかし、このエンコードには比較的少ない漢字しか含まれておらず、香港や台湾で使用されている繁体字を表現できません。また、一部の珍しい文字や古書の文字も表現できないため、実際の使用には大きな不便が生じます。その後、GB2312 は拡張され、繁体字と一部の異体字を表現できる GBK エンコード規格が形成され、その使用範囲が拡大されました。

より幅広い用途に対応するために、GB18030 エンコード規格がリリースされました。GB18030-2000 には 27,533 個の漢字が含まれ、GB18030-2005 には 70,244 個の漢字が含まれており、チベット語、モンゴル語、ダイ語、イ族語、韓国語、ウイグル語などの少数民族言語も含まれています。 GB18030 の総エンコード空間は 150 万コード位置を超えます。エンコードでは、文字に対して 1 バイト、2 バイト、4 バイトエンコードを採用しています。1 バイト部分は GB/T11383 のエンコード構造と規則を採用し、ASCII コードの対応するコード位置に対応する 0x00 から 0x7F までのコード位置を使用します。2 バイト部分の最初のバイトコード位置は 0x81 から 0xFE まで、最後のバイトコード位置はそれぞれ 0x40 から 0x7E と 0x80 から 0xFE までです。4 バイト部分は、2 バイトエンコードを拡張するための接尾辞として、GB/T11383 では採用されていない 0x30 から 0x39 を採用しています。拡張された 4 バイトエンコードの範囲は 0x81308130 から 0xFE39FE39 です。 GB18030 コードはまだ拡張中です。

より多くの漢字や一部の特殊記号を表現し、将来の互換性を高めるために、新しく作成される Web ページには GB18030 標準を使用することをお勧めします。つまり、次の 2 つの方法のいずれかを使用してエンコードを指定します。

<meta http-equiv="コンテンツタイプ" コンテンツ="text/html;charset=gb18030">
<メタ文字セット="gb18030">

もちろん、外国語の文字を表示しやすくするために、国際的に認められている UTF-8 エンコーディングを使用することもできます。

<<:  HTMLの基礎を詳しく解説(第2部)

>>:  HTML ページでギリシャ文字を使用する方法

推薦する

Linux システムファイル共有 samba 設定チュートリアル

目次sambaをアンインストールしてインストールする新しい共有パスを作成し、権限を設定するSamba...

MySQLにデータを素早くインポートする方法

序文:日々の勉強や仕事の中で、データをエクスポートする必要に迫られることがよくあります。たとえば、デ...

優れた Web UI ライブラリ/フレームワーク 10 選

1. ITミルツールキットIT Mill Toolkit は、リッチ Web アプリケーション用のウ...

FileZilla を使用して FTP ファイル サービスを素早く構築する方法

ファイルの保存とアクセスを容易にするために、FTPサービスが特別に構築されています。 FTP サーバ...

Nginx プロキシを使用してフロントエンドのクロスドメイン問題を解決する方法

序文Nginx (「エンジン エックス」と発音) は、リバース プロキシ、ロード バランサ、HTTP...

CentOS7でFTPサーバーを設定する方法

FTP は主にファイル転送に使用され、Linux では vsftpd で実装されるのが一般的です。F...

Vue における {{}}、v-text、v-html の違いと用途の詳細な説明

{ {}} 値を取得すると、タグの元のコンテンツはクリアされませんv-textは値を取得し、タグの元...

MySQL データベース インデックスが B+ ツリーの使用を選択するのはなぜですか?

MySQL データベース インデックスが B+ ツリーを使用する理由をさらに分析する前に、データ構...

MySQLでルートユーザーのパスワードを変更する方法

方法1: SET PASSWORDコマンドを使用する mysql> username@loca...

Centos で MySQL パスワードを変更する方法

1. MySQL ログイン設定を変更します。 # vim /etc/my.cnf文を追加: skip...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...

フレームセットを使用してワイドスクリーンを中央に配置するためのヒントを共有する

コードをコピーコードは次のとおりです。 <フレームセット cols="*,1280,...

Vue ルーティング遅延読み込みの詳細

目次1. ルートの遅延読み込みとは何ですか? 2. ルートの遅延読み込みの使用1. ルートの遅延読み...

Kubernetes オブジェクトボリュームの詳細な使用方法

概要ボリュームは、さまざまなストレージ リソースを抽象化および仮想化したものです。ストレージ リソー...