2012-01-14 8 views
7

UCSとUnicodeのコードポイントが同じであると思いますか?UCSとUnicodeの両方の文字セットが必要なのはなぜですか?

その場合、なぜ2つの標準(UCSとUnicode)が必要ですか?

+2

上記の質問と「なぜ私たちは文字が必要なのですか」というコメントとの類推は見られません。 IMOの質問は、* Joel on Softwareの記事へのリンクには、適切で適切なものが1つある –

答えて

17

これらは2つの基準ではありません。ユニバーサルキャラクタセット(UCS)は標準ではなく、ISO 10646という規格で定義されているものです.符号化(UCS-2など)と混同しないでください。

あなたが実際に異なるエンコーディングまたは異なる標準を意味するのかを推測するのは難しいです。しかし後者に関しては、UnicodeとISO 10646はもともと異なる目的と戦略を持つ2つの異なる標準化の取り組みでした。しかし、1990年代初期に調和していたため、2つの異なる基準に起因する混乱を避けることができました。彼らはコードポイントが実際に同じになるように調整されています。

ユニコードは、柔軟な作業が可能な業界コンソーシアムによって定義されており、単純なコードポイントの割り当てを超えて標準化することに大きな関心を寄せているため、これらは区別されていました。 Unicode Standardでは、文字だけでなく、多数の原則と処理ルールが定義されています。 ISO 10646は、ISOおよびそのメンバーの標準およびその他の文書で参照できる正式な標準です。

9

コードポイントは同じですが、いくつかの違いがあります。 the Wikipedia entry about the differences between Unicode and ISO 10646 (i.e. UCS)から:

その差はUnicodeは単純な文字マップ、対照的に、ISO 8859のような従来の規格の拡張であるISO 10646、ISO 10646の範囲外でのルールや仕様を追加することで、 Unicodeはthe Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

私は違いが道タラから来ると思うの照合のためのルール、フォームの正常化、そしてあなたが読むことが役に立つかもしれませんヘブライ語とアラビア語

のようなスクリプトの双方向アルゴリズムを追加しますe点が符号化される。 UCS-xはコードポイントをエンコードするために一定量のバイトを使用します。たとえば、UCS-2は2バイトを使用します。ただし、UCS-2では2バイト以上必要なコードポイントはエンコードできません。一方、UTFは可変量のバイトをエンコーディングに使用します。たとえば、UTF-8は少なくとも1バイト(ASCII文字の場合)を使用しますが、文字がASCII範囲外の場合はより多くのバイトを使用します。

+2

+1です。 – DaveE

関連する問題