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 Introducción a las codificaciones 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. |