次の方法で共有


System.Text.Encoding.Default プロパティ

この記事では、この API のリファレンス ドキュメントに補足的な解説を提供します。

Warnung

既定として異なるコンピューターで異なるエンコードを使用でき、既定のエンコードは 1 台のコンピューターで変更される可能性があります。 Encoding.Default エンコードを使用して、コンピューター間でストリーミングされたデータや、同じコンピューター上の異なる時刻に取得されたデータをエンコードおよびデコードすると、そのデータが正しく変換されない可能性があります。 さらに、 Default プロパティによって返されるエンコードでは、最適なフォールバックを使用して、サポートされていない文字をコード ページでサポートされている文字にマップします。 このような理由から、既定のエンコードを使用することはお勧めしません。 エンコードされたバイトが正しくデコードされるようにするには、 UTF8EncodingUnicodeEncodingなどの Unicode エンコードを使用する必要があります。 また、上位レベルのプロトコルを使用して、エンコードとデコードに同じ形式が使用されるようにすることもできます。

.NET Framework

.NET Framework では、 Default プロパティは常にシステムのアクティブなコード ページを取得し、それに対応する Encoding オブジェクトを作成します。 アクティブなコード ページには ANSI コード ページを使用できます。これには、ASCII 文字セットと、コード ページによって異なる追加の文字が含まれます。 ANSI コード ページに基づく Default エンコードはすべてデータを失うため、代わりに Encoding.UTF8 エンコードを使用することを検討してください。 UTF-8 は多くの場合、U+00 から U+7F の範囲で同じですが、ASCII 範囲外の文字を失うことなくエンコードできます。

.NET コア

.NET Core では、 Default プロパティは常に UTF8Encodingを返します。 UTF-8 は、.NET Core アプリケーションを実行するすべてのオペレーティング システム (Windows、Linux、macOS) でサポートされています。