System.Text.Encoding.Default-Eigenschaft

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Warnung

Verschiedene Computer können unterschiedliche Codierungen als Standard verwenden, und die Standardcodierung kann sich auf einem einzelnen Computer ändern. Wenn Sie die Encoding.Default Codierung verwenden, um Daten zu codieren und zu decodieren, die zwischen Computern gestreamt oder zu unterschiedlichen Zeiten auf demselben Computer abgerufen wurden, können diese Daten falsch übersetzt werden. Darüber hinaus verwendet die von der Default Eigenschaft zurückgegebene Codierung das beste Fallback, um nicht unterstützte Zeichen zeichen zuzuordnen, die von der Codeseite unterstützt werden. Aus diesen Gründen wird die Verwendung der Standardcodierung nicht empfohlen. Um sicherzustellen, dass codierte Bytes ordnungsgemäß decodiert werden, sollten Sie eine Unicode-Codierung verwenden, z UTF8Encoding . B. oder UnicodeEncoding. Sie können auch ein Protokoll auf höherer Ebene verwenden, um sicherzustellen, dass dasselbe Format für die Codierung und Decodierung verwendet wird.

.NET Framework

In .NET Framework ruft die Default Eigenschaft immer die aktive Codeseite des Systems ab und erstellt ein Encoding Objekt, das dem Objekt entspricht. Die aktive Codeseite kann eine ANSI-Codeseite sein, die den ASCII-Zeichensatz zusammen mit zusätzlichen Zeichen enthält, die je nach Codepage variieren. Da alle Default auf ANSI-Codeseiten basierenden Codierungen Daten verlieren, sollten Sie stattdessen die Encoding.UTF8 Codierung verwenden. UTF-8 ist häufig identisch im U+00-mit U+7F-Bereich, kann jedoch Zeichen außerhalb des ASCII-Bereichs ohne Verlust codieren.

.NET Core

In .NET Core gibt die Default Eigenschaft immer die UTF8Encoding. UTF-8 wird auf allen Betriebssystemen (Windows, Linux und macOS) unterstützt, auf denen .NET Core-Anwendungen ausgeführt werden.