.NET Framework での Unicode

.NET Framework は、Unicode UTF-16 (Unicode Transformation Format、16 ビット エンコーディング形式) を使用して文字を表します。場合によっては、.NET Framework は UTF-8 を内部的に使用します。

Unicode 規格は、文字とテキストの汎用文字エンコーディング スキームです。Unicode 規格では、世界各国の表記言語で使用される各文字に対し、コード ポイントと呼ばれる一意の数値と名前が割り当てられています。たとえば、文字 "A" は "U+0041"というコード ポイントと、"LATIN CAPITAL LETTER A" という名前で表されます。Unicode 規格の値は 65,000 以上の文字に対応しており、さらに 100 万の文字をサポートできます。詳細については、www.unicode.org の『Unicode Standard』を参照してください。

これまでは、複数のカルチャのさまざまな言語要件があるために、アプリケーションでデータを内部表現するにはさまざまなエンコーディングを使用する必要がありました。このようなさまざまなエンコーディング スキームを使用するには、開発者がオペレーティング システムとアプリケーションに対して断片化コード ベース (ヨーロッパ言語向け 1 バイト エディション、アジア言語向け 2 バイト エディション、中近東言語向け双方向エディションなど) を作成する必要があります。このような断片化により、複数のカルチャ間でのデータ共有が困難であるため、複数言語ユーザー インターフェイスをサポートする国際対応アプリケーションの開発がさらに困難になります。

Unicode データ エンコーディング スキームを使用すると、各種言語の文字を 1 つのエンコーディング方式で表現できるため、国際対応アプリケーションの開発が簡素化されます。アプリケーション開発者が、特定の言語の文字を表すために使用されるエンコーディング スキームを追跡する必要がなくなります。また、データを破損することなく、各国のシステム間でデータを共有できます。

参照

関連項目

System.Text Namespace
StringInfo Class

概念

基本型のエンコーディング
文字列インデックス付け

その他の技術情報

エンコーディングとローカリゼーション