Propiedad System.Text.Encoding.Default

En este artículo se proporcionan comentarios adicionales a la documentación de referencia de esta API.

Advertencia

Los distintos equipos pueden usar diferentes codificaciones como valor predeterminado y la codificación predeterminada puede cambiar en un solo equipo. Si usa la Encoding.Default codificación para codificar y descodificar datos transmitidos entre equipos o recuperados en momentos diferentes en el mismo equipo, puede traducir esos datos incorrectamente. Además, la codificación devuelta por la Default propiedad usa la reserva más adecuada para asignar caracteres no admitidos a caracteres admitidos por la página de códigos. Por estos motivos, no se recomienda usar la codificación predeterminada. Para asegurarse de que los bytes codificados están descodificados correctamente, debe usar una codificación Unicode, como UTF8Encoding o UnicodeEncoding. También puede usar un protocolo de nivel superior para asegurarse de que se usa el mismo formato para codificar y descodificar.

.NET Framework

En .NET Framework, la Default propiedad siempre obtiene la página de códigos activa del sistema y crea un Encoding objeto que corresponde a él. La página de códigos activa puede ser una página de códigos ANSI, que incluye el juego de caracteres ASCII junto con caracteres adicionales que varían según la página de códigos. Dado que todas las Default codificaciones basadas en páginas de códigos ANSI pierden datos, considere la posibilidad de usar la Encoding.UTF8 codificación en su lugar. UTF-8 suele ser idéntico en el intervalo U+00 a U+7F, pero puede codificar caracteres fuera del intervalo ASCII sin pérdida.

.NET Core

En .NET Core, la Default propiedad siempre devuelve .UTF8Encoding UTF-8 es compatible con todos los sistemas operativos (Windows, Linux y macOS) en los que se ejecutan las aplicaciones de .NET Core.