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
|
UTF8Encoding (Clase)
Representa una codificación UTF-8 de caracteres Unicode.
Ensamblado: mscorlib (en mscorlib.dll)
El tipo UTF8Encoding expone los siguientes miembros.
| Nombre | Descripción | |
|---|---|---|
|
UTF8Encoding() | Inicializa una nueva instancia de la clase UTF8Encoding. |
|
UTF8Encoding(Boolean) | Inicializa una nueva instancia de la clase UTF8Encoding. Un parámetro especifica si se proporciona una marca de orden de bytes Unicode. |
|
UTF8Encoding(Boolean, Boolean) | Inicializa una nueva instancia de la clase UTF8Encoding. Algunos parámetros especifican si se proporciona una marca de orden de bytes Unicode y si debe producirse una excepción cuando se detecta una codificación no válida. |
| Nombre | Descripción | |
|---|---|---|
|
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. (Se hereda de Encoding). |
|
CodePage | Cuando se reemplaza en una clase derivada, obtiene el identificador de página de códigos de la clase Encoding actual. (Se hereda de Encoding). |
|
DecoderFallback | Obtiene o establece el objeto DecoderFallback para el objeto Encoding actual. (Se hereda de Encoding). |
|
EncoderFallback | Obtiene o establece el objeto EncoderFallback para el objeto Encoding actual. (Se hereda de Encoding). |
|
EncodingName | Cuando se reemplaza en una clase derivada, obtiene la descripción inteligible de la codificación actual. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
IsReadOnly | Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual es de sólo lectura. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
WebName | Cuando se reemplaza en una clase derivada, obtiene el nombre registrado en IANA (Internet Assigned Numbers Authority) para la codificación actual. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
| Nombre | Descripción | |
|---|---|---|
|
Clone | Cuando se reemplaza en una clase derivada, crea una copia superficial del objeto Encoding actual. (Se hereda de Encoding). |
|
Equals | Determina si el Object especificado es igual al objeto UTF8Encoding actual. (Invalida a Encoding.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. (Se hereda de Encoding). |
|
GetByteCount(String) | Calcula el número de bytes generado al codificar los caracteres del objeto String especificado. (Invalida a Encoding.GetByteCount(String)). |
|
GetByteCount(Char*, Int32) | Calcula el número de bytes generado mediante la codificación de un conjunto de caracteres a partir del puntero de caracteres especificado. (Invalida a Encoding.GetByteCount(Char*, Int32)). |
|
GetByteCount(Char[], Int32, Int32) | Calcula el número de bytes generado mediante la codificación de un conjunto de caracteres de la matriz de caracteres especificada. (Invalida a Encoding.GetByteCount(Char[], Int32, Int32)). |
|
GetBytes(Char[]) | Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la matriz de caracteres especificada en una secuencia de bytes. (Se hereda de Encoding). |
|
GetBytes(String) |
Cuando se invalida en una clase derivada, codifica todos los caracteres de la cadena especificada en una secuencia de bytes.
(Se hereda de Encoding). En XNA Framework, este miembro está invalidado por GetBytes(String). |
|
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. (Se hereda de Encoding). |
|
GetBytes(Char*, Int32, Byte*, Int32) | Codifica un conjunto de caracteres a partir del puntero de carácter especificado en una secuencia de bytes que se almacenan a partir del puntero de byte especificado. (Invalida a Encoding.GetBytes(Char*, Int32, Byte*, Int32)). |
|
GetBytes(Char[], Int32, Int32, Byte[], Int32) | Codifica un conjunto de caracteres de la matriz de caracteres determinada en la matriz de bytes especificada. (Invalida a Encoding.GetBytes(Char[], Int32, Int32, Byte[], Int32)). |
|
GetBytes(String, Int32, Int32, Byte[], Int32) | Codifica un conjunto de caracteres del objeto String especificado y los convierte en la matriz de bytes especificada. (Invalida a Encoding.GetBytes(String, Int32, Int32, Byte[], Int32)). |
|
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. (Se hereda de Encoding). |
|
GetCharCount(Byte*, Int32) | Calcula el número de caracteres generado descodificando una secuencia de bytes a partir del puntero de byte especificado. (Invalida a Encoding.GetCharCount(Byte*, Int32)). |
|
GetCharCount(Byte[], Int32, Int32) | Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir de la matriz de bytes especificada. (Invalida a Encoding.GetCharCount(Byte[], Int32, Int32)). |
|
GetChars(Byte[]) | Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en un conjunto de caracteres. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
GetChars(Byte*, Int32, Char*, Int32) | Descodifica una secuencia de bytes a partir del puntero de byte especificado en un conjunto de caracteres que se almacenan a partir del puntero de carácter especificado. (Invalida a Encoding.GetChars(Byte*, Int32, Char*, Int32)). |
|
GetChars(Byte[], Int32, Int32, Char[], Int32) | Descodifica una secuencia de bytes de la matriz de bytes especificada en la matriz de caracteres especificada. (Invalida a Encoding.GetChars(Byte[], Int32, Int32, Char[], Int32)). |
|
GetDecoder | Obtiene un descodificador que convierte una secuencia de bytes codificada en UTF-8 en una secuencia de caracteres Unicode. (Invalida a Encoding.GetDecoder()). |
|
GetEncoder | Obtiene un codificador que convierte una secuencia de caracteres Unicode en una secuencia de bytes codificada en UTF-8. (Invalida a Encoding.GetEncoder()). |
|
GetHashCode | Devuelve el código hash de la instancia actual. (Invalida a Encoding.GetHashCode()). |
|
GetMaxByteCount | Calcula el número máximo de bytes generado mediante la codificación del número de caracteres especificado. (Invalida a Encoding.GetMaxByteCount(Int32)). |
|
GetMaxCharCount | Calcula el número máximo de caracteres generado mediante la descodificación del número de bytes especificado. (Invalida a Encoding.GetMaxCharCount(Int32)). |
|
GetPreamble | Devuelve una marca de orden de bytes Unicode codificada en formato UTF-8 si el constructor empleado para esta instancia solicita una marca de orden de bytes. (Invalida a Encoding.GetPreamble()). |
|
GetString(Byte[]) | Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en una cadena. (Se hereda de Encoding). |
|
GetString(Byte[], Int32, Int32) |
Descodifica un intervalo de bytes de una matriz de bytes en una cadena.
(Invalida a Encoding.GetString(Byte[], Int32, Int32)). En XNA Framework 3.0, este miembro se hereda de Encoding.GetString(Byte[], Int32, Int32). En , este miembro se hereda de Encoding.GetString(Byte[], Int32, Int32). |
|
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. (Se hereda de Encoding). |
|
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. (Se hereda de Encoding). |
|
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. La descodificación es el proceso de transformar una secuencia de bytes codificados en un conjunto de caracteres Unicode.
La codificación UTF-8 representa cada punto de código como una secuencia de uno a cuatro bytes. Para obtener más información sobre UFT y otras codificaciones que System.Text admite, vea Codificación de caracteres en .NET Framework y Utilizar codificación Unicode.
El método GetByteCount determina cuántos bytes resultan de codificar un conjunto de caracteres Unicode, y el método GetBytes realiza la codificación real.
Igualmente, el método GetCharCount determina el número de caracteres resultante en la descodificación de una secuencia de bytes, y los métodos GetChars y GetString realizan la descodificación real.
UTF8Encoding corresponde a la página de códigos 65001 de Windows.
El codificador puede usar el orden de bytes big-endian (primero el byte más significativo) o el orden de bytes little-endian (primero el byte menos significativo). 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.
Opcionalmente, la clase UTF8Encoding proporciona un preámbulo que es una matriz de bytes que se puede anteponer a la secuencia de bytes resultante del proceso de codificación. Si el preámbulo contiene una marca de orden de bytes (BOM), ayudará al descodificador a determinar el orden de bytes y el formato de la transformación o UTF. El método GetPreamble recupera una matriz de bytes que pueden incluir BOM. 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
Nota
|
|---|
|
Para habilitar la detección de errores y hacer que la instancia de clase sea más segura, debe usar en la aplicación el constructor UTF8Encoding que toma un parámetro throwOnInvalidBytes y establecer ese parámetro en true. Con la detección de errores, un método que detecte una secuencia de caracteres o de bytes no válida produce una excepción ArgumentException. Sin la detección de errores, no se producirá excepción alguna y, por lo general, se omitirá la secuencia no válida. |
Nota
|
|---|
|
El estado de un objeto UTF-8 codificado no se conserva si el objeto se serializa y se deserializa utilizando distintas versiones de .NET Framework. |
En el siguiente ejemplo se muestra la forma de utilizar una clase UTF8Encoding para codificar una cadena de caracteres Unicode y guardarlos en una matriz de bytes. Advierta que cuando encodedBytes se vuelve a descodificar y se convierte en cadena no hay pérdida de datos.
using System; using System.Text; class UTF8EncodingExample { public static void Main() { // Create a UTF-8 encoding. UTF8Encoding utf8 = new UTF8Encoding(); // A Unicode string with two characters outside an 8-bit code range. String unicodeString = "This unicode string contains two characters " + "with codes outside an 8-bit code range, " + "Pi (\u03a0) and Sigma (\u03a3)."; Console.WriteLine("Original string:"); Console.WriteLine(unicodeString); // Encode the string. Byte[] encodedBytes = utf8.GetBytes(unicodeString); Console.WriteLine(); Console.WriteLine("Encoded bytes:"); foreach (Byte b in encodedBytes) { Console.Write("[{0}]", b); } Console.WriteLine(); // Decode bytes back to string. // Notice Pi and Sigma characters are still present. String decodedString = utf8.GetString(encodedBytes); Console.WriteLine(); Console.WriteLine("Decoded bytes:"); Console.WriteLine(decodedString); } }
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