Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
Encoding (Clase)
Representa una codificación de carácter.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo Encoding expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
Encoding() | Inicializa una nueva instancia de la clase Encoding. |
|
Encoding(Int32) | Inicializa una nueva instancia de la clase Encoding que corresponde a la página de códigos especificada. |
| Nombre | Descripción | |
|---|---|---|
|
ASCII | Obtiene una codificación para el juego de caracteres ASCII (de 7 bits). |
|
BigEndianUnicode | Obtiene una codificación para el formato UTF-16 utilizando el orden de bytes big endian. |
|
BodyName | Cuando se reemplaza en una clase derivada, obtiene un nombre para la codificación actual que se puede utilizar con etiquetas de cuerpo de un programa de correo. |
|
CodePage | Cuando se reemplaza en una clase derivada, obtiene el identificador de página de códigos de la clase Encoding actual. |
|
DecoderFallback | Obtiene o establece el objeto DecoderFallback para el objeto Encoding actual. |
|
Default | Obtiene una codificación para la página de códigos ANSI actual del sistema operativo. |
|
EncoderFallback | Obtiene o establece el objeto EncoderFallback para el objeto Encoding actual. |
|
EncodingName | Cuando se reemplaza en una clase derivada, obtiene la descripción inteligible de la codificación actual. |
|
HeaderName | Cuando se reemplaza en una clase derivada, obtiene un nombre para la codificación actual que se puede utilizar con etiquetas de encabezado de un programa de correo. |
|
IsBrowserDisplay | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si los clientes del explorador pueden utilizar la codificación actual para mostrar el contenido. |
|
IsBrowserSave | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si los clientes del explorador pueden utilizar la codificación actual para guardar el contenido. |
|
IsMailNewsDisplay | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si los clientes de correo y de noticias pueden utilizar la codificación actual para mostrar el contenido. |
|
IsMailNewsSave | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si los clientes de correo y de noticias pueden utilizar la codificación actual para guardar el contenido. |
|
IsReadOnly | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual es de sólo lectura. |
|
IsSingleByte | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual utiliza puntos de código de un solo byte. |
|
Unicode | Obtiene una codificación para el formato UTF-16 utilizando el orden de bytes little-endian. |
|
UTF32 | Obtiene una codificación para el formato UTF-32 utilizando el orden de bytes little-endian. |
|
UTF7 | Obtiene una codificación para el formato UTF-7. |
|
UTF8 | Obtiene una codificación para el formato UTF-8. |
|
WebName | Cuando se reemplaza en una clase derivada, obtiene el nombre registrado en IANA (Internet Assigned Numbers Authority) para la codificación actual. |
|
WindowsCodePage | Cuando se reemplaza en una clase derivada, obtiene la página de códigos del sistema operativo Windows que se corresponde mejor con la codificación actual. |
| Nombre | Descripción | |
|---|---|---|
|
Clone | Cuando se reemplaza en una clase derivada, crea una copia superficial del objeto Encoding actual. |
|
Convert(Encoding, Encoding, Byte[]) | Convierte una matriz de bytes completa de una codificación a otra. |
|
Convert(Encoding, Encoding, Byte[], Int32, Int32) | Convierte un intervalo de bytes de una matriz de bytes de una codificación a otra. |
|
Equals | Determina si la clase Object especificada es igual a la instancia actual. (Invalida a Object.Equals(Object)). |
|
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). |
|
GetByteCount(Char[]) | Cuando se reemplaza en una clase derivada, calcula el número de bytes generados al codificar todos los caracteres de la matriz de caracteres especificada. |
|
GetByteCount(String) | Cuando se invalida en una clase derivada, calcula el número de bytes que se generan al codificar los caracteres de la cadena especificada. |
|
GetByteCount(Char*, Int32) | Cuando se reemplaza en una clase derivada, calcula el número de bytes generados al codificar un conjunto de caracteres a partir del puntero de caracteres especificado. |
|
GetByteCount(Char[], Int32, Int32) | Cuando se reemplaza en una clase derivada, calcula el número de bytes generado al codificar un conjunto de caracteres de la matriz de caracteres especificada. |
|
GetBytes(Char[]) | Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la matriz de caracteres especificada en una secuencia de bytes. |
|
GetBytes(String) | Cuando se invalida en una clase derivada, codifica todos los caracteres de la cadena especificada en una secuencia de bytes. |
|
GetBytes(Char[], Int32, Int32) | Cuando se reemplaza en una clase derivada, codifica un conjunto de caracteres de la matriz de caracteres especificada en una secuencia de bytes. |
|
GetBytes(Char*, Int32, Byte*, Int32) | Cuando se reemplaza en una clase derivada, codifica un conjunto de caracteres a partir del puntero de caracteres especificado en una secuencia de bytes que se almacenan a partir del puntero de bytes especificado. |
|
GetBytes(Char[], Int32, Int32, Byte[], Int32) | Cuando se reemplaza en una clase derivada, codifica un conjunto de caracteres de la matriz de caracteres especificada en la matriz de bytes especificada. |
|
GetBytes(String, Int32, Int32, Byte[], Int32) | Cuando se invalida en una clase derivada, codifica un juego de caracteres de la cadena especificada en la matriz de bytes especificada. |
|
GetCharCount(Byte[]) | Cuando se reemplaza en una clase derivada, calcula el número de caracteres generados al descodificar todos los bytes de la matriz de bytes especificada. |
|
GetCharCount(Byte*, Int32) | Cuando se reemplaza en una clase derivada, calcula el número de caracteres generados al descodificar una secuencia de bytes a partir del puntero de bytes especificado. |
|
GetCharCount(Byte[], Int32, Int32) | Cuando se reemplaza en una clase derivada, calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes de la matriz de bytes especificada. |
|
GetChars(Byte[]) | Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en un conjunto de caracteres. |
|
GetChars(Byte[], Int32, Int32) | Cuando se reemplaza en una clase derivada, descodifica una secuencia de bytes de la matriz de bytes especificada en un conjunto de caracteres. |
|
GetChars(Byte*, Int32, Char*, Int32) | Cuando se reemplaza en una clase derivada, descodifica una secuencia de bytes a partir del puntero de bytes especificado en un conjunto de caracteres que se almacenan a partir del puntero de caracteres especificado. |
|
GetChars(Byte[], Int32, Int32, Char[], Int32) | Cuando se reemplaza en una clase derivada, descodifica una secuencia de bytes de la matriz de bytes especificada en la matriz de caracteres especificada. |
|
GetDecoder | Cuando se reemplaza en una clase derivada, obtiene un descodificador que convierte una secuencia de bytes codificada en una secuencia de caracteres. |
|
GetEncoder | Cuando se reemplaza en una clase derivada, obtiene un codificador que convierte una secuencia de caracteres Unicode en una secuencia de bytes codificada. |
|
GetEncoding(Int32) | Devuelve la codificación asociada al identificador de página de códigos especificado. |
|
GetEncoding(String) | Devuelve la codificación asociada al nombre de la página de códigos especificada. |
|
GetEncoding(Int32, EncoderFallback, DecoderFallback) | Devuelve la codificación asociada al identificador de página de códigos especificado. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y las secuencias de bytes que no se pueden descodificar. |
|
GetEncoding(String, EncoderFallback, DecoderFallback) | Devuelve la codificación asociada al nombre de la página de códigos especificada. Los parámetros especifican un controlador de errores para los caracteres que no se pueden codificar y las secuencias de bytes que no se pueden descodificar. |
|
GetEncodings | Devuelve una matriz que contiene todas las codificaciones. |
|
GetHashCode | Devuelve el código hash de la instancia actual. (Invalida a Object.GetHashCode()). |
|
GetMaxByteCount | Cuando se reemplaza en una clase derivada, calcula el número máximo de bytes generados al codificar el número de caracteres especificado. |
|
GetMaxCharCount | Cuando se reemplaza en una clase derivada, calcula el número máximo de caracteres generados al descodificar el número de bytes especificado. |
|
GetPreamble | Cuando se reemplaza en una clase derivada, devuelve una secuencia de bytes que especifica la codificación utilizada. |
|
GetString(Byte[]) | Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en una cadena. |
|
GetString(Byte[], Int32, Int32) | Cuando se reemplaza en una clase derivada, descodifica una secuencia de bytes de la matriz de bytes especificada en una cadena. |
|
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). |
|
IsAlwaysNormalized() | Obtiene un valor que indica si la codificación actual siempre se normaliza, utilizando la forma de normalización predeterminada. |
|
IsAlwaysNormalized(NormalizationForm) | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual siempre se normaliza, utilizando la forma de normalización especificada. |
|
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). |
|
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Codificar es el proceso de transformar un conjunto de caracteres Unicode en una secuencia de bytes. Por contraste, decodificar es el proceso de transformar una secuencia de bytes codificados en un conjunto de caracteres Unicode. Para obtener información sobre los formatos de transformación Unicode (UTF) y otras codificaciones admitidas por Encoding, vea Codificación de caracteres en .NET Framework.
Observe que Encoding se ha diseñado para operar sobre caracteres Unicode, no sobre datos binarios arbitrarios tales como las matrices de bytes. Si la aplicación debe codificar datos binarios arbitrarios en el texto, utilice un protocolo, como UUencode, que métodos tales como Convert.ToBase64CharArray lo implementan.
.NET Framework proporciona las implementaciones siguientes de la clase Encoding para que exista compatibilidad con las codificaciones Unicode actuales y de otro tipo:
-
ASCIIEncoding codifica caracteres Unicode como caracteres ASCII sencillos de 7 bits. Esta codificación sólo admite valores de caracteres entre U+0000 y U+007F. Página de códigos 20127. También disponible mediante la propiedad ASCII.
-
La clase UTF7Encoding codifica los caracteres Unicode mediante la codificación UTF-7. Esta codificación acepta todos los valores de caracteres Unicode. Página de códigos 65000. También disponible mediante la propiedad UTF7.
-
La clase UTF8Encoding codifica los caracteres Unicode mediante la codificación UTF-8. Esta codificación acepta todos los valores de caracteres Unicode. Página de códigos 65001. También disponible mediante la propiedad UTF8.
-
La clase UnicodeEncoding codifica los caracteres Unicode mediante la codificación UTF-16. Se admite tanto el orden de bytes little-endian como el big-endian. También disponible mediante las propiedades Unicode y BigEndianUnicode.
-
La clase UTF32Encoding codifica los caracteres Unicode mediante la codificación UTF-32. Se admiten tanto el orden de bytes little-endian (página de códigos 12000) como el big-endian (página de códigos 12001). También disponible mediante la propiedad UTF32.
La clase Encoding está pensada principalmente para convertir entre diferentes codificaciones y Unicode. A menudo, la opción correcta para una aplicación es una de las clases de Unicode derivadas.
Las aplicaciones utilizan el método GetEncoding para obtener otras codificaciones. Utilizarían el método GetEncodings para obtener una lista de todas las codificaciones.
En la tabla siguiente se ofrece una lista de las codificaciones compatibles y sus páginas de códigos asociadas. Un asterisco en la última columna indica que .NET Framework admite de forma nativa la página de códigos, con independencia de la plataforma subyacente.
|
Página de códigos |
Name |
Nombre para mostrar |
|
|---|---|---|---|
|
37 |
IBM037 |
IBM EBCDIC (EE.UU.-Canadá) |
|
|
437 |
IBM437 |
Estados Unidos OEM |
|
|
500 |
IBM500 |
IBM EBCDIC (Internacional) |
|
|
708 |
ASMO-708 |
Árabe (ASMO 708) |
|
|
720 |
DOS-720 |
Árabe (DOS) |
|
|
737 |
ibm737 |
Griego (DOS) |
|
|
775 |
ibm775 |
Báltico (DOS) |
|
|
850 |
ibm850 |
Europa occidental (DOS) |
|
|
852 |
ibm852 |
Centroeuropeo (DOS) |
|
|
855 |
IBM855 |
Cirílico OEM |
|
|
857 |
ibm857 |
Turco (DOS) |
|
|
858 |
IBM00858 |
Latín multilingüe OEM I |
|
|
860 |
IBM860 |
Portugués (DOS) |
|
|
861 |
ibm861 |
Islandés (DOS) |
|
|
862 |
DOS-862 |
Hebreo (DOS) |
|
|
863 |
IBM863 |
Francés canadiense (DOS) |
|
|
864 |
IBM864 |
Árabe (864) |
|
|
865 |
IBM865 |
Nórdico (DOS) |
|
|
866 |
cp866 |
Cirílico (DOS) |
|
|
869 |
ibm869 |
Griego moderno (DOS) |
|
|
870 |
IBM870 |
IBM EBCDIC (Latín multilingüe-2) |
|
|
874 |
windows-874 |
Tailandés (Windows) |
|
|
875 |
cp875 |
IBM EBCDIC (Griego moderno) |
|
|
932 |
shift_jis |
Japonés (Shift-JIS) |
|
|
936 |
gb2312 |
Chino simplificado (GB2312) |
* |
|
949 |
ks_c_5601-1987 |
Coreano |
|
|
950 |
big5 |
Chino tradicional (Big5) |
|
|
1026 |
IBM1026 |
IBM EBCDIC (Turco Latín-5) |
|
|
1047 |
IBM01047 |
IBM Latín-1 |
|
|
1140 |
IBM01140 |
IBM EBCDIC (EE.UU.-Canadá-Euro) |
|
|
1141 |
IBM01141 |
IBM EBCDIC (Alemania-Euro) |
|
|
1142 |
IBM01142 |
IBM EBCDIC (Dinamarca-Noruega-Euro) |
|
|
1143 |
IBM01143 |
IBM EBCDIC (Finlandia-Suecia-Euro) |
|
|
1144 |
IBM01144 |
IBM EBCDIC (Italia-Euro) |
|
|
1145 |
IBM01145 |
IBM EBCDIC (España-Euro) |
|
|
1146 |
IBM01146 |
IBM EBCDIC (Reino Unido-Euro) |
|
|
1147 |
IBM01147 |
IBM EBCDIC (Francia-Euro) |
|
|
1148 |
IBM01148 |
IBM EBCDIC (Internacional-Euro) |
|
|
1149 |
IBM01149 |
IBM EBCDIC (Islandés-Euro) |
|
|
1200 |
utf-16 |
Unicode |
* |
|
1201 |
unicodeFFFE |
Unicode (big-endian) |
* |
|
1250 |
windows-1250 |
Centroeuropeo (Windows) |
|
|
1251 |
windows-1251 |
Cirílico (Windows) |
|
|
1252 |
Windows -1252 |
Europeo occidental (Windows) |
* |
|
1253 |
windows-1253 |
Griego (Windows) |
|
|
1254 |
windows-1254 |
Turco (Windows) |
|
|
1255 |
windows-1255 |
Hebreo (Windows) |
|
|
1256 |
windows-1256 |
Árabe (Windows) |
|
|
1257 |
windows-1257 |
Báltico (Windows) |
|
|
1258 |
windows-1258 |
Vietnamita (Windows) |
|
|
1361 |
Johab |
Coreano (Johab) |
|
|
10000 |
macintosh |
Europa occidental (Mac) |
|
|
10001 |
x-mac-japanese |
Japonés (Mac) |
|
|
10002 |
x-mac-chinesetrad |
Chino tradicional (Mac) |
|
|
10003 |
x-mac-korean |
Coreano (Mac) |
* |
|
10004 |
x-mac-arabic |
Árabe (Mac) |
|
|
10005 |
x-mac-hebrew |
Hebreo (Mac) |
|
|
10006 |
x-mac-greek |
Griego (Mac) |
|
|
10007 |
x-mac-cyrillic |
Cirílico (Mac) |
|
|
10008 |
x-mac-chinesesimp |
Chino simplificado (Mac) |
* |
|
10010 |
x-mac-romanian |
Rumano (Mac) |
|
|
10017 |
x-mac-ukrainian |
Ucraniano (Mac) |
|
|
10021 |
x-mac-thai |
Tailandés (Mac) |
|
|
10029 |
x-mac-ce |
Centroeuropeo (Mac) |
|
|
10079 |
x-mac-icelandic |
Islandés (Mac) |
|
|
10081 |
x-mac-turkish |
Turco (Mac) |
|
|
10082 |
x-mac-croatian |
Croata (Mac) |
|
|
12000 |
utf-32 |
Unicode (UTF-32) |
* |
|
12001 |
utf-32BE |
Unicode (UTF-32 big-endian) |
* |
|
20000 |
x-Chinese-CNS |
Chino tradicional (CNS) |
|
|
20001 |
x-cp20001 |
TCA Taiwán |
|
|
20002 |
x-Chinese-Eten |
Chino tradicional (Eten) |
|
|
20003 |
x-cp20003 |
IBM5550 Taiwán |
|
|
20004 |
x-cp20004 |
TeleText Taiwán |
|
|
20005 |
x-cp20005 |
Wang Taiwán |
|
|
20105 |
x-IA5 |
Europa occidental (IA5) |
|
|
20106 |
x-IA5-German |
Alemán (IA5) |
|
|
20107 |
x-IA5-Swedish |
Sueco (IA5) |
|
|
20108 |
x-IA5-Norwegian |
Noruego (IA5) |
|
|
20127 |
us-ascii |
EE.UU.-ASCII |
* |
|
20261 |
x-cp20261 |
T.61 |
|
|
20269 |
x-cp20269 |
ISO-6937 |
|
|
20273 |
IBM273 |
IBM EBCDIC (Alemania) |
|
|
20277 |
IBM277 |
IBM EBCDIC (Dinamarca-Noruega) |
|
|
20278 |
IBM278 |
IBM EBCDIC (Finlandia-Suecia) |
|
|
20280 |
IBM280 |
IBM EBCDIC (Italia) |
|
|
20284 |
IBM284 |
IBM EBCDIC (España) |
|
|
20285 |
IBM285 |
IBM EBCDIC (Reino Unido) |
|
|
20290 |
IBM290 |
IBM EBCDIC (Katakana japonés) |
|
|
20297 |
IBM297 |
IBM EBCDIC (Francia) |
|
|
20420 |
IBM420 |
IBM EBCDIC (Árabe) |
|
|
20423 |
IBM423 |
IBM EBCDIC (Griego) |
|
|
20424 |
IBM424 |
IBM EBCDIC (Hebreo) |
|
|
20833 |
x-EBCDIC-KoreanExtended |
IBM EBCDIC (Coreano extendido) |
|
|
20838 |
IBM-Thai |
IBM EBCDIC (Tai) |
|
|
20866 |
koi8-r |
Cirílico (KOI8-R) |
|
|
20871 |
IBM871 |
IBM EBCDIC (Islandés) |
|
|
20880 |
IBM880 |
IBM EBCDIC (Ruso cirílico) |
|
|
20905 |
IBM905 |
IBM EBCDIC (Turco) |
|
|
20924 |
IBM00924 |
IBM Latín-1 |
|
|
20932 |
EUC-JP |
Japonés (JIS 0208-1990 y 0212-1990) |
|
|
20936 |
x-cp20936 |
Chino simplificado (GB2312-80) |
* |
|
20949 |
x-cp20949 |
Coreano Wansung |
* |
|
21025 |
cp1025 |
IBM EBCDIC (Cirílico serbio-búlgaro) |
|
|
21866 |
koi8-u |
Cirílico (KOI8-U) |
|
|
28591 |
iso-8859-1 |
Europa occidental (ISO) |
* |
|
28592 |
iso-8859-2 |
Centroeuropeo (ISO) |
|
|
28593 |
iso-8859-3 |
Latín 3 (ISO) |
|
|
28594 |
iso-8859-4 |
Báltico (ISO) |
|
|
28595 |
iso-8859-5 |
Cirílico (ISO) |
|
|
28596 |
iso-8859-6 |
Árabe (ISO) |
|
|
28597 |
iso-8859-7 |
Griego (ISO) |
|
|
28598 |
iso-8859-8 |
Hebreo (ISO-Visual) |
* |
|
28599 |
iso-8859-9 |
Turco (ISO) |
|
|
28603 |
iso-8859-13 |
Estonio (ISO) |
|
|
28605 |
iso-8859-15 |
Latín 9 (ISO) |
|
|
29001 |
x-Europa |
Europa |
|
|
38598 |
iso-8859-8-i |
Hebreo (ISO-Lógico) |
* |
|
50220 |
iso-2022-jp |
Japonés (JIS) |
* |
|
50221 |
csISO2022JP |
Japonés (JIS-Permitir 1 byte Kana) |
* |
|
50222 |
iso-2022-jp |
Japonés (JIS-Permitir 1 byte Kana - SO/SI) |
* |
|
50225 |
iso-2022-kr |
Coreano (ISO) |
* |
|
50227 |
x-cp50227 |
Chino simplificado (ISO-2022) |
* |
|
51932 |
euc-jp |
Japonés (EUC) |
* |
|
51936 |
EUC-CN |
Chino simplificado (EUC) |
* |
|
51949 |
euc-kr |
Coreano (EUC) |
* |
|
52936 |
hz-gb-2312 |
Chino simplificado (HZ) |
* |
|
54936 |
GB18030 |
Chino simplificado (GB18030) |
* |
|
57002 |
x-iscii-de |
ISCII Devanagari |
* |
|
57003 |
x-iscii-be |
ISCII Bengalí |
* |
|
57004 |
x-iscii-ta |
ISCII Tamil |
* |
|
57005 |
x-iscii-te |
ISCII Telugu |
* |
|
57006 |
x-iscii-as |
ISCII Asamés |
* |
|
57007 |
x-iscii-or |
ISCII Oriya |
* |
|
57008 |
x-iscii-ka |
ISCII Kannada |
* |
|
57009 |
x-iscii-ma |
ISCII Malayalam |
* |
|
57010 |
x-iscii-gu |
ISCII Gujarati |
* |
|
57011 |
x-iscii-pa |
ISCII Punjabí |
* |
|
65000 |
utf-7 |
Unicode (UTF-7) |
* |
|
65001 |
utf-8 |
Unicode (UTF-8) |
* |
Si los datos que se van a convertir sólo están disponibles en bloques secuenciales (como los datos leídos de un flujo) o si la cantidad de datos es tan grande que es necesario dividirlos en bloques más pequeños, use las clases Decoder o Encoder proporcionadas por el método GetDecoder o GetEncoder, respectivamente, de una clase derivada.
Los codificadores UTF-16 y UTF-32 pueden utilizar el orden de bytes big endian (primero el byte más significativo) o el orden de bytes little endian (primero el byte menos significativo). Por ejemplo, la letra mayúscula latina A (U+0041) se serializa del siguiente modo (en hexadecimal):
-
El orden de bytes big endian de UTF-16: 00 41
-
El orden de bytes little endian de UTF-16: 41 00
-
El orden de bytes big endian de UTF-32: 00 00 00 41
-
El orden de bytes little endian de UTF-32: 41 00 00 00
Generalmente es más eficaz almacenar caracteres Unicode utilizando el orden de bytes nativo. Por ejemplo, es mejor usar el orden de bytes little-endian en plataformas little-endian, como los equipos Intel.
El método GetPreamble recupera una matriz de bytes que contiene la marca de orden de bytes (BOM). Si esta matriz de bytes se antepone a un flujo codificado, ayudará al descodificador a identificar el formato de codificación utilizado.
Para obtener más información sobre el orden de bytes y la marca de orden de bytes, vea The Unicode Standard en Unicode home page
Observe que las clases de codificación permiten errores que:
-
Cambian a un carácter "?" sin notificación.
-
Usan un carácter de "ajuste perfecto".
-
Cambian a un comportamiento específico de la aplicación a través del uso de las clases EncoderFallback y DecoderFallback con el carácter de reemplazo Unicode U+FFFD.
Se recomienda que se produzcan excepciones en todos los errores del flujo de datos en las aplicaciones. Una aplicación usa un marcador "throwonerror" cuando corresponda o usa las clases EncoderExceptionFallback y DecoderExceptionFallback. A menudo no se recomienda el retroceso de ajuste perfecto porque puede producir pérdida de datos o confusión y es más lento que los simples reemplazos de caracteres. Para las codificaciones ANSI, el mejor comportamiento de ajuste perfecto es el predeterminado.
En el ejemplo siguiente se convierte una cadena de una codificación a otra.
Nota
|
|---|
|
La matriz de bytes es el único tipo de este ejemplo que contiene los datos codificados. Los tipos String y Char de .NET son Unicode, de modo que la llamada GetChars vuelve a descodificar los datos a Unicode. |
using System; using System.Text; class Example { static void Main() { string unicodeString = "This string contains the unicode character Pi (\u03a0)"; // Create two different encodings. Encoding ascii = Encoding.ASCII; Encoding unicode = Encoding.Unicode; // Convert the string into a byte array. byte[] unicodeBytes = unicode.GetBytes(unicodeString); // Perform the conversion from one encoding to the other. byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes); // Convert the new byte[] into a char[] and then into a string. char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); string asciiString = new string(asciiChars); // Display the strings created before and after the conversion. Console.WriteLine("Original string: {0}", unicodeString); Console.WriteLine("Ascii converted string: {0}", asciiString); } } // The example displays the following output: // Original string: This string contains the unicode character Pi (Π) // Ascii converted string: This string contains the unicode character Pi (?)
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota