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 ページでギリシャ文字を使用する方法

推薦する

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

HTML での Li タグの使用例

タイトルを左に、日付を右に揃えたいのですが、日付の範囲に float:right を直接追加すると、...

JavaScript を使用して userAgent を通じていくつかの一般的なブラウザを判別する方法

序文通常、h5 ページを作成するときは、WeChat、QQ、Weibo などのエコシステム内でトラフ...

MySQL ルート パスワードをリセットするときに発生する「不明な列 'password'」問題を解決する方法

夜にMACの電源を入れたところ、突然ルートアカウントがMySQLに正常にログインできなくなったため、...

カルーセル効果を実現するためのネイティブJavaScript+CSS

この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...

MySQLの明示的な型変換の簡単な分析

CAST関数前回の記事では、型変換を表示するために使用する CAST 関数について説明しました。暗黙...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

VueはTeleportをベースにModalコンポーネントを実装します

目次1. テレポートについて知る2. テレポートの基本的な使い方3. 最初のステップの最適化4. 第...

MySQL Community Server 5.6.39 のインストール方法

この記事では、MySQLのダウンロードとインストールの詳細なチュートリアルを記載しています。具体的な...

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1: ログイン.vue <テンプレート> <p class=&quo...

resizeを使用して画像切り替えプレビュー機能を実装する方法

要点CSS resize プロパティを使用すると、要素のサイズ変更可能性を制御できます。サイズ変更を...

MySQL 5.7.18 インストーラーのインストール ダウンロード グラフィック チュートリアル

この記事では、MySQL 5.7.18インストーラーの詳細なインストールチュートリアルを参考までに記...

Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装

現在、Redis とコンテナについて学習中なので、Docker を使用して Redis マスタースレ...

MySQL ストレステストツール Mysqlslap の使用

1. MySQL独自のストレステストツールMysqlslap mysqlslap は、mysql に...

MySQL からエクスポートされた scv ファイル内の文字化けやジャンプ行の問題をすばやく解決します

仕事上の理由により、完全なオンライン化(​​つまり、すべてのデータがオンラインで完了し、インポートや...