Compartir a través de


UTF7Encoding Clase

Definición

Representa una codificación UTF-7 de caracteres Unicode.

public ref class UTF7Encoding : System::Text::Encoding
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UTF7Encoding : System.Text.Encoding
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UTF7Encoding = class
    inherit Encoding
Public Class UTF7Encoding
Inherits Encoding
Herencia
UTF7Encoding
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar para UTF7Encoding codificar una cadena de caracteres Unicode y almacenarlos en una matriz de bytes. Tenga en cuenta que cuando la matriz de bytes se descodifica en una cadena, no se pierden datos.

using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // Create a UTF-7 encoding.
   UTF7Encoding^ utf7 = gcnew UTF7Encoding;
   
   // A Unicode string with two characters outside a 7-bit code range.
   String^ unicodeString = L"This Unicode string contains two characters with codes outside a 7-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the string.
   array<Byte>^encodedBytes = utf7->GetBytes( unicodeString );
   Console::WriteLine();
   Console::WriteLine( "Encoded bytes:" );
   IEnumerator^ myEnum = encodedBytes->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine();
   
   // Decode bytes back to string.
   // Notice Pi and Sigma characters are still present.
   String^ decodedString = utf7->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}
using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Create a UTF-7 encoding.
        UTF7Encoding utf7 = new UTF7Encoding();
        
        // A Unicode string with two characters outside a 7-bit code range.
        String unicodeString =
            "This Unicode string contains two characters " +
            "with codes outside a 7-bit code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = utf7.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 = utf7.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Create a UTF-7 encoding.
        Dim utf7 As New UTF7Encoding()
        
        ' A Unicode string with two characters outside a 7-bit code range.
        Dim unicodeString As String = _
            "This Unicode string contains two characters " & _
            "with codes outside a 7-bit code range, " & _
            "Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = utf7.GetBytes(unicodeString)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        Dim b As Byte
        For Each b In  encodedBytes
            Console.Write("[{0}]", b)
        Next b
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String = utf7.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class

Comentarios

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-7 representa caracteres Unicode como secuencias de caracteres ASCII de 7 bits. Esta codificación admite determinados protocolos para los que es necesario, a menudo protocolos de correo electrónico o grupo de noticias. Dado que UTF-7 no es especialmente seguro o sólido, y la mayoría de los sistemas modernos permiten codificaciones de 8 bits, normalmente se debe preferir UTF-8 a UTF-7.

Nota:

UTF7Encoding no proporciona detección de errores. Por motivos de seguridad, la aplicación debe usar UTF8Encoding, UnicodeEncodingo UTF32Encoding y habilitar la detección de errores.

Para obtener más información sobre las UDF y otras codificaciones admitidas por System.Text, vea Codificación de caracteres en .NET Framework.

El GetByteCount método determina el número de bytes que dan como resultado la codificación de un conjunto de caracteres Unicode y el GetBytes método realiza la codificación real.

Del mismo modo, el GetCharCount método determina cuántos caracteres dan como resultado la descodificación de una secuencia de bytes, y los GetChars métodos y GetString realizan la descodificación real.

UTF7Encoding corresponde a la página de códigos de Windows 65000.

Nota:

El estado de un objeto codificado UTF-7 no se conserva si el objeto se serializa y deserializa mediante diferentes versiones de .NET Framework.

Constructores

UTF7Encoding()
Obsoletos.

Inicializa una nueva instancia de la clase UTF7Encoding.

UTF7Encoding(Boolean)
Obsoletos.

Inicializa una nueva instancia de la clase UTF7Encoding. Un parámetro especifica si se permiten los caracteres opcionales.

Propiedades

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.

(Heredado de Encoding)
CodePage

Cuando se reemplaza en una clase derivada, obtiene el identificador de la página de códigos de la clase Encoding actual.

(Heredado de Encoding)
DecoderFallback

Obtiene o establece el objeto DecoderFallback para el objeto Encoding actual.

(Heredado de Encoding)
EncoderFallback

Obtiene o establece el objeto EncoderFallback para el objeto Encoding actual.

(Heredado de Encoding)
EncodingName

Cuando se reemplaza en una clase derivada, obtiene la descripción inteligible de la codificación actual.

(Heredado 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.

(Heredado 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.

(Heredado 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.

(Heredado 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.

(Heredado 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.

(Heredado de Encoding)
IsReadOnly

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual es de solo lectura.

(Heredado 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.

(Heredado de Encoding)
Preamble

Cuando se invalida en una clase derivada, devuelve un intervalo que contiene la secuencia de bytes que especifica la codificación utilizada.

(Heredado 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.

(Heredado 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.

(Heredado de Encoding)

Métodos

Clone()

Cuando se reemplaza en una clase derivada, crea una copia superficial del objeto Encoding actual.

(Heredado de Encoding)
Equals(Object)

Obtiene un valor que indica si el objeto especificado es igual al objeto UTF7Encoding actual.

Equals(Object)

Determina si el objeto Object especificado es igual a la instancia actual.

(Heredado de Encoding)
GetByteCount(Char*, Int32)

Calcula el número de bytes generado mediante la codificación de un juego de caracteres a partir del puntero de caracteres especificado.

GetByteCount(Char*, Int32)

Cuando se reemplaza en una clase derivada, calcula el número de bytes que se generan al codificar un juego de caracteres a partir del puntero de caracteres especificado.

(Heredado de Encoding)
GetByteCount(Char[])

Cuando se reemplaza en una clase derivada, calcula el número de bytes que se generan al codificar todos los caracteres de la matriz de caracteres especificada.

(Heredado de Encoding)
GetByteCount(Char[], Int32, Int32)

Calcula el número de bytes generado mediante la codificación de un juego de caracteres de la matriz de caracteres especificada.

GetByteCount(ReadOnlySpan<Char>)

Cuando se invalida en una clase derivada, calcula el número de bytes que se generan al codificar los caracteres del intervalo de caracteres especificado.

(Heredado de Encoding)
GetByteCount(String)

Calcula el número de bytes generado al codificar los caracteres del objeto String especificado.

GetByteCount(String)

Cuando se reemplaza en una clase derivada, calcula el número de bytes que se generan al codificar los caracteres de la cadena especificada.

(Heredado de Encoding)
GetByteCount(String, Int32, Int32)

Cuando se invalida en una clase derivada, calcula el número de bytes que se generan al codificar un juego de caracteres a partir de la cadena especificada.

(Heredado de Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Codifica un juego 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, Byte*, Int32)

Cuando se reemplaza en una clase derivada, codifica un juego de caracteres a partir del puntero de caracteres especificado en una secuencia de bytes que se almacenan a partir del puntero de bytes especificado.

(Heredado de Encoding)
GetBytes(Char[])

Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la matriz de caracteres especificada en una secuencia de bytes.

(Heredado de Encoding)
GetBytes(Char[], Int32, Int32)

Cuando se reemplaza en una clase derivada, codifica un juego de caracteres de la matriz de caracteres especificada en una secuencia de bytes.

(Heredado de Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

Codifica un juego de caracteres de la matriz de caracteres determinada en la matriz de bytes especificada.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

Cuando se invalida en una clase derivada, codifica en un intervalo de bytes un juego de caracteres a partir del intervalo de solo lectura especificado.

(Heredado de Encoding)
GetBytes(String)

Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la cadena especificada en una secuencia de bytes.

(Heredado de Encoding)
GetBytes(String, Int32, Int32)

Cuando se invalida en una clase derivada, codifica en una matriz de bytes el número de caracteres especificado por count en la cadena especificada, empezando por el elemento index especificado.

(Heredado de Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Codifica un juego de caracteres del objeto String especificado en la matriz de bytes especificada.

GetBytes(String, Int32, Int32, Byte[], Int32)

Cuando se reemplaza en una clase derivada, codifica un juego de caracteres de la cadena especificada en la matriz de bytes especificada.

(Heredado de Encoding)
GetCharCount(Byte*, Int32)

Calcula el número de caracteres generado mediante la descodificación de una secuencia de bytes a partir del puntero de bytes especificado.

GetCharCount(Byte*, Int32)

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar una secuencia de bytes a partir del puntero de bytes especificado.

(Heredado de Encoding)
GetCharCount(Byte[])

Cuando se reemplaza en una clase derivada, calcula el número de caracteres que se generan al descodificar todos los bytes de la matriz de bytes especificada.

(Heredado de Encoding)
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.

GetCharCount(ReadOnlySpan<Byte>)

Cuando se invalida en una clase derivada, calcula el número de caracteres que se generan al descodificar el intervalo de bytes de solo lectura proporcionado.

(Heredado de Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Descodifica una secuencia de bytes a partir del puntero de bytes especificado en un juego de caracteres que se almacenan a partir del puntero de caracteres especificado.

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 juego de caracteres que se almacenan a partir del puntero de caracteres especificado.

(Heredado de Encoding)
GetChars(Byte[])

Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en un juego de caracteres.

(Heredado 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 juego de caracteres.

(Heredado de Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Descodifica una secuencia de bytes de la matriz de bytes especificada en la matriz de caracteres especificada.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

Cuando se invalida en una clase derivada, descodifica todos los bytes del intervalo de bytes de solo lectura especificado en un intervalo de caracteres.

(Heredado de Encoding)
GetDecoder()

Obtiene un descodificador que convierte una secuencia de bytes codificada en UTF-7 en una secuencia de caracteres Unicode.

GetEncoder()

Obtiene un codificador que convierte una secuencia de caracteres Unicode en una secuencia de bytes codificada en UTF-7.

GetHashCode()

Devuelve el código hash del objeto UTF7Encoding actual.

GetHashCode()

Devuelve el código hash de la instancia actual.

(Heredado de Encoding)
GetMaxByteCount(Int32)

Calcula el número máximo de bytes generado mediante la codificación del número de caracteres especificado.

GetMaxCharCount(Int32)

Calcula el número máximo de caracteres generado mediante la descodificación del número de bytes especificado.

GetPreamble()

Cuando se reemplaza en una clase derivada, devuelve una secuencia de bytes que especifica la codificación utilizada.

(Heredado de Encoding)
GetString(Byte*, Int32)

Cuando se reemplaza en una clase derivada, descodifica un número determinado de bytes a partir de una dirección especificada en una cadena.

(Heredado de Encoding)
GetString(Byte[])

Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en una cadena.

(Heredado de Encoding)
GetString(Byte[], Int32, Int32)

Descodifica un intervalo de bytes de una matriz de bytes 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.

(Heredado de Encoding)
GetString(ReadOnlySpan<Byte>)

Cuando se invalida en una clase derivada, descodifica todos los bytes del intervalo de bytes especificado en una cadena.

(Heredado de Encoding)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsAlwaysNormalized()

Obtiene un valor que indica si la codificación actual siempre se normaliza, utilizando la forma de normalización predeterminada.

(Heredado de Encoding)
IsAlwaysNormalized(NormalizationForm)

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual siempre se normaliza mediante la forma de normalización especificada.

(Heredado de Encoding)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Codifica en un intervalo de bytes un conjunto de caracteres del intervalo de solo lectura especificado si el destino es lo suficientemente grande.

(Heredado de Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Descodifica en un intervalo de caracteres un conjunto de bytes del intervalo de solo lectura especificado si el destino es lo suficientemente grande.

(Heredado de Encoding)

Métodos de extensión

GetBytes(Encoding, ReadOnlySequence<Char>)

Codifica el elemento ReadOnlySequence<T> especificado en una matriz Byte mediante el elemento Encoding especificado.

GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

Descodifica el elemento ReadOnlySequence<T> especificado en bytes mediante el elemento Encoding especificado y escribe el resultado en writer.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

Codifica el elemento ReadOnlySequence<T> especificado en bytes mediante el elemento Encoding especificado y envía el resultado a bytes.

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

Codifica el elemento ReadOnlySpan<T> especificado en bytes mediante el elemento Encoding especificado y escribe el resultado en writer.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

Descodifica el elemento ReadOnlySequence<T> especificado en chars mediante el elemento Encoding especificado y escribe el resultado en writer.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

Descodifica el elemento ReadOnlySequence<T> especificado en chars mediante el elemento Encoding especificado y envía el resultado a chars.

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

Descodifica el elemento ReadOnlySpan<T> especificado en chars mediante el elemento Encoding especificado y escribe el resultado en writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Descodifica el elemento ReadOnlySequence<T> especificado en String mediante el elemento Encoding especificado.

Se aplica a

Consulte también