UTF7Encoding UTF7Encoding UTF7Encoding UTF7Encoding Class

Definición

Representa una codificación UTF-7 de caracteres Unicode.Represents a UTF-7 encoding of Unicode characters.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar un UTF7Encoding para codificar una cadena de caracteres Unicode y almacenarlos en una matriz de bytes.The following code example demonstrates how to use a UTF7Encoding to encode a string of Unicode characters and store them in a byte array. Tenga en cuenta que, cuando la matriz de bytes se descodifica en una cadena, no se pierde ningún dato.Notice that when the byte array is decoded back to a string, no data is lost.

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
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.Encoding is the process of transforming a set of Unicode characters into a sequence of bytes. La descodificación es el proceso de transformar una secuencia de bytes codificados en un conjunto de caracteres Unicode.Decoding is the process of transforming a sequence of encoded bytes into a set of Unicode characters.

La codificación UTF-7 representa los caracteres Unicode como secuencias de caracteres ASCII de 7 bits.The UTF-7 encoding represents Unicode characters as sequences of 7-bit ASCII characters. Esta codificación admite ciertos protocolos para el que se requiere, con más frecuencia de protocolos de correo electrónico o un grupo de noticias.This encoding supports certain protocols for which it is required, most often email or newsgroup protocols. Como UTF-7 no es particularmente segura ni sólida y los sistemas más modernos permiten codificaciones de 8 bits, normalmente debe preferirse a UTF-7, UTF-8.Since UTF-7 is not particularly secure or robust, and most modern systems allow 8-bit encodings, UTF-8 should normally be preferred to UTF-7.

Nota

UTF7Encoding no se proporciona la detección de errores.UTF7Encoding does not provide error detection. Por motivos de seguridad, la aplicación debe usar UTF8Encoding, UnicodeEncoding, o UTF32Encoding y habilitar la detección de errores.For security reasons, the application should use UTF8Encoding, UnicodeEncoding, or UTF32Encoding and enable error detection.

Para obtener más información acerca de las codificaciones UTF y otras codificaciones admitidas por System.Text, consulte codificación de caracteres en .NET Framework.For more information about the UTFs and other encodings supported by System.Text, see Character Encoding in the .NET Framework.

El GetByteCount método determina el número de bytes resultante de codificar un juego de caracteres Unicode y el GetBytes método realiza la codificación real.The GetByteCount method determines how many bytes result in encoding a set of Unicode characters, and the GetBytes method performs the actual encoding.

Del mismo modo, el GetCharCount método determina el número de caracteres resultante de descodificar una secuencia de bytes y el GetChars y GetString métodos realizan la descodificación real.Likewise, the GetCharCount method determines how many characters result in decoding a sequence of bytes, and the GetChars and GetString methods perform the actual decoding.

UTF7Encoding corresponde a la página de códigos 65000 de Windows.UTF7Encoding corresponds to the Windows code page 65000.

Nota

No se conserva el estado de un objeto codificado en UTF-7 si el objeto se serializa y deserializa utilizando distintas versiones de .NET Framework.The state of a UTF-7 encoded object is not preserved if the object is serialized and deserialized using different .NET Framework versions.

Constructores

UTF7Encoding() UTF7Encoding() UTF7Encoding() UTF7Encoding()

Inicializa una nueva instancia de la clase UTF7Encoding.Initializes a new instance of the UTF7Encoding class.

UTF7Encoding(Boolean) UTF7Encoding(Boolean) UTF7Encoding(Boolean) UTF7Encoding(Boolean)

Inicializa una nueva instancia de la clase UTF7Encoding.Initializes a new instance of the UTF7Encoding class. Un parámetro especifica si se permiten los caracteres opcionales.A parameter specifies whether to allow optional characters.

Métodos

Clone() Clone() Clone() Clone()

Cuando se reemplaza en una clase derivada, crea una copia superficial del objeto Encoding actual.When overridden in a derived class, creates a shallow copy of the current Encoding object.

(Inherited from Encoding)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Obtiene un valor que indica si el objeto especificado es igual al objeto UTF7Encoding actual.Gets a value indicating whether the specified object is equal to the current UTF7Encoding object.

GetByteCount(Char*, Int32) GetByteCount(Char*, Int32) GetByteCount(Char*, Int32) 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.Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

GetByteCount(Char[]) GetByteCount(Char[]) GetByteCount(Char[]) 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.When overridden in a derived class, calculates the number of bytes produced by encoding all the characters in the specified character array.

(Inherited from Encoding)
GetByteCount(Char[], Int32, Int32) GetByteCount(Char[], Int32, Int32) GetByteCount(Char[], Int32, Int32) 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.Calculates the number of bytes produced by encoding a set of characters from the specified character array.

GetByteCount(ReadOnlySpan<Char>) GetByteCount(ReadOnlySpan<Char>) GetByteCount(ReadOnlySpan<Char>) GetByteCount(ReadOnlySpan<Char>) Inherited from Encoding
GetByteCount(String) GetByteCount(String) GetByteCount(String) GetByteCount(String)

Calcula el número de bytes generado al codificar los caracteres del objeto String especificado.Calculates the number of bytes produced by encoding the characters in the specified String object.

GetByteCount(String, Int32, Int32) GetByteCount(String, Int32, Int32) GetByteCount(String, Int32, Int32) GetByteCount(String, Int32, Int32) Inherited from Encoding
GetBytes(Char*, Int32, Byte*, Int32) GetBytes(Char*, Int32, Byte*, Int32) GetBytes(Char*, Int32, Byte*, Int32) 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.Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer.

GetBytes(Char[]) GetBytes(Char[]) GetBytes(Char[]) GetBytes(Char[])

Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la matriz de caracteres especificada en una secuencia de bytes.When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes.

(Inherited from Encoding)
GetBytes(Char[], Int32, Int32) GetBytes(Char[], Int32, Int32) GetBytes(Char[], Int32, Int32) 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.When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes.

(Inherited from Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32) GetBytes(Char[], Int32, Int32, Byte[], Int32) GetBytes(Char[], Int32, Int32, Byte[], Int32) GetBytes(Char[], Int32, Int32, Byte[], Int32)

Codifica un juego de caracteres de la matriz de caracteres determinada en la matriz de bytes especificada.Encodes a set of characters from the specified character array into the specified byte array.

GetBytes(ReadOnlySpan<Char>, Span<Byte>) GetBytes(ReadOnlySpan<Char>, Span<Byte>) GetBytes(ReadOnlySpan<Char>, Span<Byte>) GetBytes(ReadOnlySpan<Char>, Span<Byte>) Inherited from Encoding
GetBytes(String) GetBytes(String) GetBytes(String) GetBytes(String)

Cuando se reemplaza en una clase derivada, codifica todos los caracteres de la cadena especificada en una secuencia de bytes.When overridden in a derived class, encodes all the characters in the specified string into a sequence of bytes.

(Inherited from Encoding)
GetBytes(String, Int32, Int32) GetBytes(String, Int32, Int32) GetBytes(String, Int32, Int32) GetBytes(String, Int32, Int32) Inherited from Encoding
GetBytes(String, Int32, Int32, Byte[], Int32) GetBytes(String, Int32, Int32, Byte[], Int32) GetBytes(String, Int32, Int32, Byte[], Int32) GetBytes(String, Int32, Int32, Byte[], Int32)

Codifica un juego de caracteres del objeto String especificado en la matriz de bytes especificada.Encodes a set of characters from the specified String into the specified byte array.

GetCharCount(Byte*, Int32) GetCharCount(Byte*, Int32) GetCharCount(Byte*, Int32) 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.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[]) GetCharCount(Byte[]) GetCharCount(Byte[]) 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.When overridden in a derived class, calculates the number of characters produced by decoding all the bytes in the specified byte array.

(Inherited from Encoding)
GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, Int32) GetCharCount(Byte[], Int32, 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.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>) GetCharCount(ReadOnlySpan<Byte>) GetCharCount(ReadOnlySpan<Byte>) GetCharCount(ReadOnlySpan<Byte>) Inherited from Encoding
GetChars(Byte*, Int32, Char*, Int32) GetChars(Byte*, Int32, Char*, Int32) GetChars(Byte*, Int32, Char*, Int32) 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.Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer.

GetChars(Byte[]) GetChars(Byte[]) GetChars(Byte[]) GetChars(Byte[])

Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en un juego de caracteres.When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters.

(Inherited from Encoding)
GetChars(Byte[], Int32, Int32) GetChars(Byte[], Int32, Int32) GetChars(Byte[], Int32, Int32) 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.When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters.

(Inherited from Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32) GetChars(Byte[], Int32, Int32, Char[], Int32) GetChars(Byte[], Int32, 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.Decodes a sequence of bytes from the specified byte array into the specified character array.

GetChars(ReadOnlySpan<Byte>, Span<Char>) GetChars(ReadOnlySpan<Byte>, Span<Char>) GetChars(ReadOnlySpan<Byte>, Span<Char>) GetChars(ReadOnlySpan<Byte>, Span<Char>) Inherited from Encoding
GetDecoder() GetDecoder() GetDecoder() GetDecoder()

Obtiene un descodificador que convierte una secuencia de bytes codificada en UTF-7 en una secuencia de caracteres Unicode.Obtains a decoder that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters.

GetEncoder() GetEncoder() GetEncoder() GetEncoder()

Obtiene un codificador que convierte una secuencia de caracteres Unicode en una secuencia de bytes codificada en UTF-7.Obtains an encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Devuelve el código hash del objeto UTF7Encoding actual.Returns the hash code for the current UTF7Encoding object.

GetMaxByteCount(Int32) GetMaxByteCount(Int32) GetMaxByteCount(Int32) GetMaxByteCount(Int32)

Calcula el número máximo de bytes generado mediante la codificación del número de caracteres especificado.Calculates the maximum number of bytes produced by encoding the specified number of characters.

GetMaxCharCount(Int32) GetMaxCharCount(Int32) GetMaxCharCount(Int32) GetMaxCharCount(Int32)

Calcula el número máximo de caracteres generado mediante la descodificación del número de bytes especificado.Calculates the maximum number of characters produced by decoding the specified number of bytes.

GetPreamble() GetPreamble() GetPreamble() GetPreamble()

Cuando se reemplaza en una clase derivada, devuelve una secuencia de bytes que especifica la codificación utilizada.When overridden in a derived class, returns a sequence of bytes that specifies the encoding used.

(Inherited from Encoding)
GetString(Byte*, Int32) GetString(Byte*, Int32) GetString(Byte*, Int32) 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.When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string.

(Inherited from Encoding)
GetString(Byte[]) GetString(Byte[]) GetString(Byte[]) GetString(Byte[])

Cuando se reemplaza en una clase derivada, descodifica todos los bytes de la matriz de bytes especificada en una cadena.When overridden in a derived class, decodes all the bytes in the specified byte array into a string.

(Inherited from Encoding)
GetString(Byte[], Int32, Int32) GetString(Byte[], Int32, Int32) GetString(Byte[], Int32, Int32) GetString(Byte[], Int32, Int32)

Descodifica un intervalo de bytes de una matriz de bytes en una cadena.Decodes a range of bytes from a byte array into a string.

GetString(ReadOnlySpan<Byte>) GetString(ReadOnlySpan<Byte>) GetString(ReadOnlySpan<Byte>) GetString(ReadOnlySpan<Byte>) Inherited from Encoding
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsAlwaysNormalized() IsAlwaysNormalized() IsAlwaysNormalized() IsAlwaysNormalized()

Obtiene un valor que indica si la codificación actual siempre se normaliza, utilizando la forma de normalización predeterminada.Gets a value indicating whether the current encoding is always normalized, using the default normalization form.

(Inherited from Encoding)
IsAlwaysNormalized(NormalizationForm) IsAlwaysNormalized(NormalizationForm) IsAlwaysNormalized(NormalizationForm) 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.When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form.

(Inherited from Encoding)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Propiedades

BodyName BodyName BodyName 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.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags.

(Inherited from Encoding)
CodePage CodePage CodePage CodePage

Cuando se reemplaza en una clase derivada, obtiene el identificador de la página de códigos de la clase Encoding actual.When overridden in a derived class, gets the code page identifier of the current Encoding.

(Inherited from Encoding)
DecoderFallback DecoderFallback DecoderFallback DecoderFallback

Obtiene o establece el objeto DecoderFallback para el objeto Encoding actual.Gets or sets the DecoderFallback object for the current Encoding object.

(Inherited from Encoding)
EncoderFallback EncoderFallback EncoderFallback EncoderFallback

Obtiene o establece el objeto EncoderFallback para el objeto Encoding actual.Gets or sets the EncoderFallback object for the current Encoding object.

(Inherited from Encoding)
EncodingName EncodingName EncodingName EncodingName

Cuando se reemplaza en una clase derivada, obtiene la descripción inteligible de la codificación actual.When overridden in a derived class, gets the human-readable description of the current encoding.

(Inherited from Encoding)
HeaderName HeaderName HeaderName 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.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags.

(Inherited from Encoding)
IsBrowserDisplay IsBrowserDisplay IsBrowserDisplay 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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content.

(Inherited from Encoding)
IsBrowserSave IsBrowserSave IsBrowserSave 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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content.

(Inherited from Encoding)
IsMailNewsDisplay IsMailNewsDisplay IsMailNewsDisplay 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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for displaying content.

(Inherited from Encoding)
IsMailNewsSave IsMailNewsSave IsMailNewsSave 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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for saving content.

(Inherited from Encoding)
IsReadOnly IsReadOnly IsReadOnly IsReadOnly

Cuando se reemplaza en una clase derivada, obtiene un valor que indica si la codificación actual es de solo lectura.When overridden in a derived class, gets a value indicating whether the current encoding is read-only.

(Inherited from Encoding)
IsSingleByte IsSingleByte IsSingleByte 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.When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points.

(Inherited from Encoding)
Preamble Preamble Preamble Preamble Inherited from Encoding
WebName WebName WebName WebName

Cuando se reemplaza en una clase derivada, obtiene el nombre registrado en IANA (Internet Assigned Numbers Authority) para la codificación actual.When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.

(Inherited from Encoding)
WindowsCodePage WindowsCodePage WindowsCodePage 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.When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding.

(Inherited from Encoding)

Se aplica a

Consulte también: