ホームページ >よくある問題 >Unicode と ASCII の違いは何ですか

Unicode と ASCII の違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-10-15 13:50:3137676ブラウズ

違い: 1. ASCII エンコードは 1 バイトですが、Unicode エンコードは通常 2 バイトです。 2. ASCII はシングルバイトエンコーディングであり、中国語を表すために使用することはできません。Unicode はすべての言語を表すことができます。 3. Unicode エンコードには、ASCII エンコードの 2 倍のストレージ容量が必要です。

Unicode と ASCII の違いは何ですか

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

ASCII エンコード

  • ASCII コードは、指定された 7 ビットまたは 8 ビットの 2 進数の組み合わせを使用して、128 または 256 個の可能な文字を表します。標準 ASCII コード (基本 ASCII コードとも呼ばれます) は、7 つの 2 進数 (残りの 1 つの 2 進数は 0) を使用して、すべての大文字と小文字、0 ~ 9 の数字、句読点、およびアメリカ英語で使用される特殊なコントロールを表します。最後のビットはパリティ チェックに使用されます。
  • 問題: ASCII はシングルバイト エンコーディングであり、中国語を表すのに使用できません (中国語のエンコーディングには少なくとも 2 バイトが必要です)。そのため、中国は中国語をエンコードする GB2312 エンコーディングを策定しました。しかし、世界にはさまざまな言語が存在するため、統一されたエンコーディングが必要です。

Unicode

  • Unicode はすべての言語を 1 つのコード セットに統合するため、文字化けは発生しません。文字の問題。
  • Unicode では、文字を表すために最も一般的に 2 バイトが使用されます (非常に離れた文字を使用する場合は、4 バイトが必要です)。最新のオペレーティング システムとほとんどのプログラミング言語は Unicode を直接サポートしています。

Unicode と ASCII の違い

  • ASCII エンコードは 1 バイトですが、Unicode エンコードは通常 2 バイトです。
    文字 A の ASCII エンコードは、10 進数で 65、2 進数で 01000001 です。Unicode では、前に 0 を追加するだけで済みます (00000000 01000001)。
  • 新たな問題: Unicode エンコードに統一されれば文字化けの問題は解消されます。ただし、作成するテキストが基本的にすべて英語の場合、Unicode エンコードは ASCII エンコードの 2 倍のストレージ容量を必要とし、ストレージと送信の点で非常に不経済です。

UTF8

  • したがって、保護の精神に基づいて、Unicode エンコーディングを「変数」に変換するという別のアイデアがあります。ロングエンコーディング」UTF-8エンコーディング。
  • UTF-8 エンコーディングは、Unicode 文字をさまざまな数値サイズに応じて 1 ~ 6 バイトにエンコードします。一般的に使用される英語の文字は 1 バイトにエンコードされます。中国語の文字は通常 3 バイトで、いくつかの珍しい文字のみがエンコードされます。 4 ~ 6 バイトにエンコードされます。送信するテキストに英語の文字が多く含まれている場合は、UTF-8 エンコードを使用するとスペースを節約できます。
#文字ASCIIUnicodeUTF-8#A中文
01000001 00000000 01000001 01000001
x 01001110 00101101 01001110 00101101
#上記の表から、UTF-8 エンコーディングには追加の利点は、ASCII エンコードを実際には UTF-8 エンコードの一部とみなすことができるため、ASCII エンコードのみをサポートする多くの歴史的なレガシー ソフトウェアが UTF-8 エンコードでも引き続き動作できることです。
  • コンピュータにおける一般的な文字エンコーディングの仕組み

コンピュータのメモリでは、ハード ディスクに保存する必要がある場合、または転送する必要がある場合に、Unicode エンコーディングが一律に使用されます。 UTF-8にエンコードされます。
  • メモ帳で編集すると、ファイルから読み込んだ UTF-8 文字が Unicode 文字に変換されてメモリに保存され、編集完了後、保存時に Unicode が UTF-8 に変換されます。ファイルへ:
  • Unicode と ASCII の違いは何ですか
    # Web を閲覧すると、サーバーは動的に生成された Unicode コンテンツを UTF-8 に変換し、ブラウザに送信します。
  • Unicode と ASCII の違いは何ですかさらに関連する知識については、
  • FAQ
列をご覧ください。

以上がUnicode と ASCII の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。