Propriété System.Text.Encoding.Default

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

Avertissement

Différents ordinateurs peuvent utiliser des encodages différents comme encodage par défaut, et l’encodage par défaut peut changer sur un seul ordinateur. Si vous utilisez l’encodage Encoding.Default pour encoder et décoder les données diffusées entre les ordinateurs ou récupérées à des moments différents sur le même ordinateur, elles peuvent traduire ces données de manière incorrecte. En outre, l’encodage retourné par la Default propriété utilise le secours le mieux adapté pour mapper des caractères non pris en charge aux caractères pris en charge par la page de codes. Pour ces raisons, l’utilisation de l’encodage par défaut n’est pas recommandée. Pour vous assurer que les octets encodés sont décodés correctement, vous devez utiliser un encodage Unicode, tel que UTF8Encoding ou UnicodeEncoding. Vous pouvez également utiliser un protocole de niveau supérieur pour vous assurer que le même format est utilisé pour l’encodage et le décodage.

.NET Framework

Dans .NET Framework, la Default propriété obtient toujours la page de codes active du système et crée un Encoding objet qui lui correspond. La page de codes active peut être une page de codes ANSI, qui inclut le jeu de caractères ASCII ainsi que des caractères supplémentaires qui varient selon la page de codes. Étant donné que tous les Default encodages basés sur les pages de codes ANSI perdent des données, envisagez d’utiliser l’encodage à la Encoding.UTF8 place. UTF-8 est souvent identique dans la plage U+00 à U+7F, mais peut encoder des caractères en dehors de la plage ASCII sans perte.

.NET Core

Dans .NET Core, la Default propriété retourne toujours le UTF8Encoding. UTF-8 est pris en charge sur tous les systèmes d’exploitation (Windows, Linux et macOS) sur lesquels les applications .NET Core s’exécutent.