System.Text.Encoding.Default プロパティ
この記事では、この API のリファレンス ドキュメントへの補足的な解説を提供します。
警告
既定として異なるコンピューターで異なるエンコードを使用でき、既定のエンコードは 1 台のコンピューターで変更される可能性があります。 エンコードを Encoding.Default 使用して、コンピューター間でストリーミングされたデータや、同じコンピューター上の異なる時刻に取得されたデータをエンコードおよびデコードすると、そのデータが正しく変換されない可能性があります。 さらに、プロパティによって Default 返されるエンコードでは、最適なフォールバックを使用して、サポートされていない文字をコード ページでサポートされている文字にマップします。 このような理由から、既定のエンコードを使用することはお勧めしません。 エンコードされたバイトが正しくデコードされるようにするには、Unicode エンコードを使用する必要があります(例UTF8EncodingUnicodeEncoding: . また、上位レベルのプロトコルを使用して、エンコードとデコードに同じ形式が使用されるようにすることもできます。
.NET Framework
.NET Framework では、このプロパティは Default 常にシステムのアクティブなコード ページを取得し、それに対応するオブジェクトを作成 Encoding します。 アクティブなコード ページには ANSI コード ページを使用できます。これには、ASCII 文字セットと、コード ページによって異なる追加の文字が含まれます。 ANSI コード ページに基づくすべての Default エンコードではデータが失われるため、代わりにエンコードを Encoding.UTF8 使用することを検討してください。 UTF-8 は多くの場合、U+00 から U+7F の範囲で同じですが、ASCII 範囲外の文字を失うことなくエンコードできます。
.NET Core
.NET Core では、このプロパティは Default 常に UTF8Encoding. UTF-8 は、.NET Core アプリケーションを実行するすべてのオペレーティング システム (Windows、Linux、macOS) でサポートされています。
.NET