Unicode と ASCII

Unicode と ASCII

最新のオペレーティング システムでは ASCII ではなく Unicode が使用されるのはなぜですか?

答え1

なぜなら、コード ページを切り替えることなく、現在使用されているすべての文字の簡単かつ均一なマッピングを提供するためです。また、おそらく EASCII または ANSI (または 256 文字のその他の派生形式) を意味していると思われます。

例を挙げると、コード ページが競合するため、ロシア語とチェコ語を同じシステムで使用することは、以前は不可能でした (つまり、Unicode がなかった)。そのため、現在選択されているコード ページに応じて、どちらかのシステムでファイル名 (およびその他のオブジェクト) が不適切に表示されていました。

Unicode は、この問題を軽減し、他の概念を追加します。総合的に優れた概要として、O'Reilly の「Unicode Explained」をお勧めします。また、この本は国際化に関心のある人物によって書かれています。これは、今でも多くの英語ネイティブ スピーカーには言えないことですが、ASCII (0..127) を使用すればすべての英語の文章をカバーでき、EASCII を使用しても、プレーンなラテン文字に固執する限り、コード ページの問題は発生しません。

実装は異なりますが(DebianはUTF-8を使用し、新しいWindowsはUTF-16を使用し、古いNTベースのWindowsはUTF-16のサブセットであるUCS-2を使用していました)、Unicodeはコードページによって課せられたすべての制限を取り除きます。それを使用するための決定的な議論。

プログラミングに興味があるなら、ICU を見てください。

答え2

短い答え: Unicode は ASCII よりも多くの文字をサポートしているためです。

からウィキペディア:

Unicode は、実用的で信頼性の高い世界共通のテキスト エンコーディングのニーズに応えることを目的としています。Unicode は、世界中のすべての言語の文字を網羅するために 16 ビットに拡張された「ワイドボディ ASCII」と大まかに説明できます。適切に設計された設計では、文字あたり 16 ビットでこの目的には十分すぎるほどです。

答え3

UTF-8 は、ASCII との下位互換性を保つために根本から設計されました。7 ビットの ASCII システムは、即座に基本的な UTF-8 システムになりました (ただし、必ずしも基本的な ASCII の 127 文字以上を処理できるわけではありません)。

UTF-8 は、複数のバイトを組み合わせて 1 つの文字を構成できるようにすることで、ASCII システムを拡張します。これにより、コンピューターは数十万の異なる文字を処理できます。その目的は、すべての言語のすべてのアルファベットのすべての文字を 1 つの大きな文字テーブルにまとめることです。

http://en.wikipedia.org/wiki/UTF-8すべてがどのように機能するかを詳細に説明します。

関連情報