Web ページのエンコーディングで gbk や gb2312 ではなく utf-8 が使用されるのはなぜですか?

Web ページのエンコーディングで gbk や gb2312 ではなく utf-8 が使用されるのはなぜですか?

選択肢がある場合は、UTF-8を使用することをお勧めします。

実際、Windows システム自体のプログラムはすでに完全に Unicode に切り替わっており、GBK は中国の標準に対応するための暫定的な手段にすぎません。

GBK のテキスト エンコーディングは 2 バイトで表現されます。つまり、中国語と英語の文字は両方とも 2 バイトで表現されますが、中国語を区別するために、最上位ビットは 1 に設定されます。

UTF-8 エンコーディングは、国際文字を解決するために使用されるマルチバイト エンコーディングです。英語の場合は 8 ビット (1 バイト)、中国語の場合は 24 ビット (3 バイト) を使用します。英語の文字が多いフォーラムでは、スペースを節約するために UTF-8 が使用されます。

GBK にはすべての中国語の文字が含まれています。

UTF-8 には、世界中のすべての国で必要な文字が含まれています。

GBKは国家標準GB2312をベースに拡張しGB2312と互換性のある規格です(まだ国家標準ではないようです)

UTF-8 でエンコードされたテキストは、UTF8 文字セットをサポートするさまざまな国のブラウザーで表示できます。
例えば、UTF8 エンコードであれば、IE 用の中国語サポート パッケージをダウンロードしなくても、外国人の英語版 IE で中国語を表示できます。

したがって、英語が多いフォーラムでは、GBK を使用すると文字ごとに 2 バイトが消費されますが、UTF-8 を使用すると 1 バイトしか消費されません。

注意: UTF-8 バージョンは国際互換性に優れていますが、中国語バージョンでは GBK/BIG5 バージョンよりも 50% 多くのデータベース ストレージ スペースが必要です。したがって、このバージョンは推奨されず、国際互換性に関して特別な要件があるユーザーのみを対象としています。

簡単に言えば:
中国語のテキストが多いフォーラムでは、データベースのスペースを節約するために GBK エンコードを使用するのが適切です。
英語コンテンツが多いフォーラムの場合は、データベースのスペースを節約するために UTF-8 を使用するのが適切です。

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 を使用すると、コンピューターの一部のブラウザーにこのエンコーディングがないため、ウェブページ上の中国語の文字が認識できない文字化けした文字になってしまいます。

<<:  小さなプログラムが天井に張り付いてしまう問題を完璧に解決するためにposition:stickyを使用する方法

>>:  WeChatアプレットでのwxsファイルの素晴らしい使い方をいくつか紹介します

推薦する

CentOSにDockerをインストールする方法

ここでは比較的簡単なインストール方法のみを紹介します。 1. yumを使用してインストールするyum...

Linux での Firewalld の高度な設定の使用に関する詳細な説明

IPマスカレードとポート転送Firewalldは2種類のネットワークアドレス変換をサポートしています...

開発者にとって必須の Docker コマンドの概要

目次Docker入門Docker環境のインストールDockerイメージの共通コマンド検索ミラー画像を...

JavaScript プリミティブデータ型シンボルの詳細な説明

目次導入説明名前の競合私有財産要約する導入シンボル変数を作成する最も簡単な方法は、Symbol() ...

haslaylout と bfc 解析の理解

1. haslayout と bfc は IE 固有の標準属性です。 2. BFC はページ上の分離...

共有サイドバーを実装するためのネイティブJS

この記事では、ネイティブ JS で実装された共有サイドバーを紹介します。効果は次のとおりです。 以下...

Redhat 7.3 に MySQL 8.0.22 をインストールするための詳細なチュートリアル (バイナリ インストール)

目次1. MySQLインストールパッケージをダウンロードする2. MySQLのアンインストール手順3...

Linux nlコマンドの使い方

1. コマンドの紹介nl (行数) は指定されたファイルに行番号を追加し、標準出力に書き込みます。フ...

IDEA で Docker プロジェクトをデプロイする手順

現在、ほとんどのプロジェクトが Docker 上にデプロイされ始めていますが、デプロイのプロセスはま...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...

MySQLでNULL値を判定する際の落とし穴事例

目次序文Mysql の case when 構文:事例実践:要約:序文今日、プログラムを開発している...

Vueはmockjsを使用してシミュレートされたデータケースの詳細を生成します

目次プロジェクトにmockjsをインストールするVueプロジェクトでmockjsを使用する基本的なプ...

Docker+Jenkinsを使用して自動的にビルドおよびデプロイする

この記事では、Docker+Jenkins の自動ビルドデプロイメントを紹介し、皆さんと共有します。...

Alibaba Cloud Server Tomcatにアクセスできません

目次1. はじめに2. 解決策2.1 ファイアウォールを設定してポートを開く2.3 ポートを確認し、...

secure_file_priv nullの問題を解決する

secure_file_priv = ' ';管理者としてcmdを実行します。 my...