ウェブページのエンコードにおける 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 の無効なマージンに対する解決策

推薦する

MySQL インデックス データ構造の詳細な分析

目次概要インデックスデータ構造バイナリツリー赤黒木BツリーB+ツリーハッシュ索引InnoDB インデ...

HTML チュートリアル: title 属性と alt 属性

XHTML は CSS レイアウトの基礎です。jb51.net は常に XHTML 知識の習得を重視...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

MySQLはこのような更新文を決して書きません

目次序文原因現象なぜ?分析要約する序文今日は、非常に典型的な MySQL の「落とし穴」についてお話...

Alibaba Cloud MySQL スペースをクリーンアップする方法

今日、Alibaba Cloudからディスク警告通知を受け取りました。確認したところ、100Gのスペ...

MYSQLテーブルの包括的な概要

目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...

シンプルなビデオ連射機能を実装する JavaScript CSS3

この記事では、最も単純なビデオ連射機能をシミュレートするデモを作成します。アイデア:再生する動画と同...

Vueのコンポーネントのprops属性について詳しく説明します

目次質問1: 小道具は具体的にどのように使用されますか?原理は何ですか?下を見る質問 2: 年齢に ...

MySQL データベースは何をしますか?

MySQL はリレーショナル データベース管理システムです。リレーショナル データベースは、すべて...

チェックボックスとラジオボタンの配置を実装する方法

ブラウザによって動作が異なるだけでなく、フォントやテキスト サイズによっても動作が異なります。フォー...

ネイティブ js はカスタム スクロール バー コンポーネントを実装します

この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...

VUE ユニアプリの基本コンポーネントの簡単な紹介

1. スクロールビュー垂直スクロールを使用する場合は、固定の高さを指定して CSS で高さを設定する...

MySQL 5.7.17 とワークベンチのインストールと設定のグラフィックチュートリアル

この記事では、MySQL 5.7.17ワークベンチのインストールと設定方法を参考までに紹介します。具...

CSS3 のカラー値 RGBA とグラデーションカラーの使用方法の紹介

CSS3以前は、グラデーション画像は背景画像としてのみ使用できました。 CSS3 のグラデーション構...

ウェブサイトのビジュアルデザインパスはユーザーの習慣に合わせる必要がある

クーパー氏は、一般的に上から下、左から右に向かうユーザーの視覚経路について話しました。優れたビジュア...