ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

ウェブページのエンコードにおける GB2312、GBK、UTF-8 の違い

まず、GB2312、GBK、UTF-8 はすべて文字エンコーディングであることを理解する必要があります。さらに、他の文字エンコーディングも多数あります。ただ、当社の中国語のウェブサイトでは、これら 3 つのコードがより一般的に使用されています。エンコードが必要な理由を簡単に説明すると、コンピューターでは、テキスト情報を格納するために ASCII コードが使用され、各文字は一意の ASCII コードに対応しています。コンピューターはもともとアメリカで発明され、キーボードとその上の文字も使用されていたため、ASCII 文字は簡単に解読できました。しかし、中国では違います。それぞれの漢字は固有の ASCII コードに対応している必要があります。このようにして、GB2312、GBK など、国が策定した文字エンコード規格が誕生しました。他の国や他の言語にも、対応するエンコード標準があります。 GB は国家標準を意味します。GB2312 と GBK は主に中国語の文字のエンコードに使用され、UTF-8 は世界中で使用されています。つまり、Web ページが主に中国語を使用する中国人向けである場合、GB2312 と GBK を使用すると非常に便利です。テキストの保存容量が少なく、いくつかの利点があります。ウェブページを世界中に公開する場合、ウェブページのエンコーディングとして GB2312 と GBK を使用すると、コンピューターの一部のブラウザーにこのエンコーディングがないため、ウェブページ上の中国語の文字が認識できない文字化けした文字になってしまいます。 これらは通常、Web ページのメタ タグで使用されます。たとえば、このページでは GB2312 エンコーディングが使用されていることを示します。この情報はブラウザが確認するためのもので、ブラウザは Web ページのヘッダーから抽出したエンコード情報を優先して使用して Web ページをデコードします。もちろん、ブラウザに特定のエンコーディングを使用して Web ページを解釈するように強制して、有名な文字化けしたコードを確認することもできます。

GBK、GB2312 などと UTF8 は、Unicode エンコーディングを通じて相互に変換する必要があります。

GBK、GB2312-Unicode-UTF8
UTF8-Unicode-GBK、GB2312

ウェブサイトやフォーラムで英語の文字が多い場合は、スペースを節約するために UTF-8 を使用することをお勧めします。ただし、現在多くのフォーラム プラグインは一般的に GBK のみをサポートしています。
中国語のウェブサイトの場合は、GB2312 GBK が推奨されますが、それでも問題が発生する場合があります。コード文字化けの問題をすべて回避するには、UTF-8 を使用する必要があります。また、将来の国際化をサポートするのにも非常に便利です。UTF-8 は、ほとんどのテキストのエンコードを含む大規模な文字セットと見なすことができます。

UTF-8 を使用する利点の 1 つは、他の地域 (香港や台湾など) のユーザーが、簡体字中国語サポートをインストールしなくても、文字化けすることなくテキストを正常に表示できることです*。 *

gb2312は簡体字中国語のコードです
gbkは簡体字中国語と繁体字中国語をサポートしています
big5は繁体字中国語をサポート
UTF-8はほぼすべての文字をサポート

中国本土で最もよく使われるコードはGBK18030です。他にGBKとGB2312があります。これらのコードの関係は次のとおりです。 最も古い中国語文字コードは GB2312 で、6,763 個の中国語文字と 682 個のその他の記号が含まれていました。このコードは 1995 年に改訂され、合計 21,886 個の記号を含む GBK1.0 と名付けられました。 その後、GBK18030 エンコーディングが導入され、合計 27,484 個の中国語文字と、チベット語、モンゴル語、ウイグル語などの主要な少数言語が含まれました。現在、WINDOWS プラットフォームは GBK18030 エンコーディングをサポートする必要があります。

GB2312コードには約6000字の漢字(特殊文字を除く)が含まれており、エンコード範囲は第1桁がb0~f7、第2桁がa1~fe(第1桁がcfの場合、第2桁はa1~d3)です。漢字の数を計算すると、6762字になります。もちろん他のキャラクターもいます。コントロールキーやその他の文字を含めると、文字コードは約 7573 個あります。GBK コードは GB2312 コードを拡張したもので、より多くの漢字に対応していますが、単なる拡張であり、質的な変化はありません。 GB2312 コードはすべて保持され、これに基づいてコード範囲が拡張されています。合計 22014 個の文字コード (特殊文字を含む) が収容されます。gb18030 コードは、gbk コードに基づく拡張です。漢字の数が増えたため、2 ビット コードのみでは必要な漢字を収容できなくなり、2\4 ビット混合方式を採用して、より多くの漢字コードをサポートします。また、GB2312 および gbk エンコード ファイルと互換性のあるオリジナルの gbk 2 バイト エンコードが保持されます。約 55,657 個のコード (特殊文字を含む) を収容できます。Unicode コード (UTF コードとも呼ばれます) : 一般的にユニバーサル コードとして知られ、さまざまな国のテキストを表現するために統一されたコーディング標準を使用することを約束します。 より多くのテキストを表現するために、UTF-8 では 2/3 混合エンコード方式が使用されます。現在対応している中国語文字の範囲は、gbk エンコーディングの範囲よりも狭くなっています。また、中国語を 3 バイト モードで処理すると互換性の問題が発生します。元の gbk、GB2312、gb18030 エンコード ファイルは正常に処理できません。まだ道のりは長いです。

gbkとgb2312の違いは何ですか

まず、GBK とは何か、GB2312 とは何かを誰もが理解する必要があります。これらはすべて文字エンコーディングの一種であることを知っておく必要がありますが、もちろん文字エンコーディングには多くの種類があります。

文字エンコーディングは次のように理解できます。

コンピューターは 0 と 1 のバイナリ値を保存します。

8 ビットは 1 バイトに対応し、通常は 16 進数で表現されます。

では、0 や 1 などのさまざまな数字の代わりに、コンピューターに表示したい文字を表示するにはどうすればよいでしょうか?

ここでは、コンピューターが保存している対応する 16 進数値を、英語や中国語などの他の言語の文字を含む対応する文字に変換し、画面に出力する必要があります。

したがって、エンコードとは、どの値がどの文字に対応するかを指定するための一連のルールを定義することを意味します。

次に、文字エンコーディングは、コンピューターに保存されている多数の値のうちのどの値がコンピューター画面に表示されるどの文字に対応するかを指定する一連の規則を定義します。

まとめると、GBK と GB2312 は一種の文字エンコーディングであることを誰もが理解する必要があります。

以下では、それらの相違点と類似点について詳しく説明します。

類似点:

1. GBK と GB2312 はどちらも 16 ビットです。

2. 通常、Web ページのメタ タグで使用されます。

違い:

1. GBK 文字エンコーディングは、簡体字中国語と繁体字中国語をサポートします。

GBK は「Chinese Internal Code Extension Specifications」の略称です (GBK は中国語ピンインの「国家標準」と「拡張」の頭文字を意味し、英語名は Chinese Internal Code Specifications)。1995 年 12 月 1 日に中華人民共和国国家情報技術標準化技術委員会によって制定されました。1995 年 12 月 15 日に、国家技術監督総局標準化部と電子工業部科学技術品質監督部が共同で、1995 年技術監督通知第 229 号文書の形式で技術仕様ガイド文書として認定しました。

2. GB2312 は簡体字中国語のみをサポートします。

「情報交換用中国語文字コード化文字セット」は、1980 年に中国標準総局によって発行され、1981 年 5 月 1 日に施行された国家標準のセットです。標準番号は GB 2312-1980 です。
GB 2312 規格には、第 1 レベルの中国語文字 3755 個と第 2 レベルの中国語文字 3008 個を含む合計 6763 個の中国語文字が含まれています。同時に、GB 2312 には、ラテン文字、ギリシャ文字、日本語のひらがなとカタカナ、ロシア語のキリル文字を含む全角文字 682 個が含まれています。

ウェブページが主に中国語を話す中国人向けである場合、GB2312 と GBK を使用すると非常に便利です。テキストの保存容量が少なく、いくつかの利点があります。ウェブページを世界中に公開する場合、ウェブページのエンコーディングとして GB2312 と GBK を使用すると、コンピューターの一部のブラウザーにこのエンコーディングがないため、ウェブページ上の中国語の文字が認識できない文字化けした文字になってしまいます。

<<:  Vueプロジェクトの支払い機能コードの詳細な説明

>>:  HTML にネストされた div の無効なマージンに対する解決策

推薦する

NFS サーバーの原理と、その構築、構成、展開の手順を簡単に分析します。

目次NFS サービスの概要NFS とは何ですか? NFS マウントの原則NFS サーバーはデータ転送...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

Linux での Redis の永続性、マスター スレーブ同期、Sentinel の詳細な説明

1.0 Redis の永続性Redis はメモリ内データベースです。サーバー プロセスが終了すると、...

Docker 基本チュートリアル: Dockerfile 構文の詳細な説明

序文Dockerfile は Docker プログラムによって解釈されるスクリプトです。Docker...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

HTML テーブル マークアップ チュートリアル (2): テーブル境界属性 BORDER

デフォルトでは、テーブルの境界線は 0 ですが、テーブルの境界線を設定できます。基本的な構文<...

Vueエンジニアがカプセル化しなければならない埋め込み命令の知識のまとめ

目次序文指導の基本フック機能フック関数のパラメータ文章使い方とアイデア成し遂げる汎用性を高める要約す...

Vue の長いリストをすばやく読み込む方法

目次背景メインコンテンツ1. コンポーネントの比較2. 実装のアイデア3. キーメソッドソースコード...

リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース

1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...

Vueでeslintを使用する方法の詳細な説明

目次1. 説明2. 関連する依存パッケージをダウンロードする3. 設定ファイル .eslintrc....

WeChatアプレットのスクロールビューが左右にスライドできない問題を解決する方法

私は現在、自分自身の小さなプログラム プロジェクトに取り組んでいます。プロフェッショナルなフロントエ...

MySQL 8.0 の非表示インデックスの詳細な説明

言葉MySQL 8.0 は最初のバージョンから 4 年を経てリリースされました。バージョン 8.0 ...

docker デプロイメントの実装手順 lnmp-wordpress

目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....

Mysql一時テーブルの原理と作成方法の分析

この記事は主にMysql一時テーブルの原理と作成方法を紹介します。この記事のサンプルコードは非常に詳...

get メソッドによる HTML フォームの値転送の例

google.htmlインターフェースは図の通りですコードは図のとおりです: (比較的シンプルで、入...