UTF7Encoding Classe

Definição

Representa uma codificação de caracteres Unicode UTF-7.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
Herança
UTF7Encoding
Atributos

Exemplos

O exemplo de código a seguir demonstra como usar um UTF7Encoding para codificar uma cadeia de caracteres Unicode e armazená-los em uma 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. Observe que, quando a matriz de bytes é decodificada de volta para uma cadeia de caracteres, nenhum dado é perdido.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.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

Comentários

A codificação é o processo de transformar um conjunto de caracteres Unicode em uma sequência de bytes.Encoding is the process of transforming a set of Unicode characters into a sequence of bytes. A decodificação é o processo de transformar uma sequência de bytes codificados em um conjunto de caracteres Unicode.Decoding is the process of transforming a sequence of encoded bytes into a set of Unicode characters.

A codificação UTF-7 representa caracteres Unicode como sequências de caracteres ASCII de 7 bits.The UTF-7 encoding represents Unicode characters as sequences of 7-bit ASCII characters. Essa codificação dá suporte a determinados protocolos para os quais é necessário, com mais frequência os protocolos de email ou de grupo de notícias.This encoding supports certain protocols for which it is required, most often email or newsgroup protocols. Como o UTF-7 não é particularmente seguro ou robusto, e os sistemas mais modernos permitem codificações de 8 bits, o UTF-8 normalmente deve ser preferível ao UTF-7.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.

Observação

UTF7Encoding não fornece detecção de erro.UTF7Encoding does not provide error detection. Por motivos de segurança, o aplicativo deve usar UTF8Encoding, UnicodeEncodingou UTF32Encoding e habilitar a detecção de erros.For security reasons, the application should use UTF8Encoding, UnicodeEncoding, or UTF32Encoding and enable error detection.

Para obter mais informações sobre o UTFs e outras codificações com suporte pelo System.Text, consulte codificação de caracteres no .NET Framework.For more information about the UTFs and other encodings supported by System.Text, see Character Encoding in the .NET Framework.

O método GetByteCount determina quantos bytes resultam na codificação de um conjunto de caracteres Unicode e o método GetBytes executa a codificação real.The GetByteCount method determines how many bytes result in encoding a set of Unicode characters, and the GetBytes method performs the actual encoding.

Da mesma forma, o método GetCharCount determina quantos caracteres resultam na decodificação de uma sequência de bytes e os métodos GetChars e GetString executam a decodificação 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 à página de código do Windows 65000.UTF7Encoding corresponds to the Windows code page 65000.

Observação

O estado de um objeto codificado em UTF-7 não será preservado se o objeto for serializado e desserializado usando diferentes versões 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.

Construtores

UTF7Encoding()

Inicializa uma nova instância da classe UTF7Encoding.Initializes a new instance of the UTF7Encoding class.

UTF7Encoding(Boolean)

Inicializa uma nova instância da classe UTF7Encoding.Initializes a new instance of the UTF7Encoding class. Um parâmetro especifica se devem ser permitidos caracteres opcionais.A parameter specifies whether to allow optional characters.

Propriedades

BodyName

Quando substituído em uma classe derivada, obtém um nome para a codificação atual que pode ser usado com marcas de corpo do agente de email.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags.

(Herdado de Encoding)
CodePage

Quando é substituído em uma classe derivada, obtém o identificador de página de código do Encoding atual.When overridden in a derived class, gets the code page identifier of the current Encoding.

(Herdado de Encoding)
DecoderFallback

Obtém ou define o objeto DecoderFallback para o objeto Encoding atual.Gets or sets the DecoderFallback object for the current Encoding object.

(Herdado de Encoding)
EncoderFallback

Obtém ou define o objeto EncoderFallback para o objeto Encoding atual.Gets or sets the EncoderFallback object for the current Encoding object.

(Herdado de Encoding)
EncodingName

Quando substituído em uma classe derivada, obtém a descrição legível por humanos da codificação atual.When overridden in a derived class, gets the human-readable description of the current encoding.

(Herdado de Encoding)
HeaderName

Quando substituído em uma classe derivada, obtém um nome para a codificação atual que pode ser usado com marcas de cabeçalho do agente de email.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags.

(Herdado de Encoding)
IsBrowserDisplay

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador para exibir conteúdo.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content.

(Herdado de Encoding)
IsBrowserSave

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador para salvar conteúdo.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content.

(Herdado de Encoding)
IsMailNewsDisplay

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador e email para exibir conteúdo.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.

(Herdado de Encoding)
IsMailNewsSave

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual pode ser usada por clientes do navegador e email para salvar conteúdo.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.

(Herdado de Encoding)
IsReadOnly

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual é somente leitura.When overridden in a derived class, gets a value indicating whether the current encoding is read-only.

(Herdado de Encoding)
IsSingleByte

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual usa pontos de código de byte único.When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points.

(Herdado de Encoding)
Preamble

Quando substituído em uma classe derivada, retorna um intervalo que contém a sequência de bytes que especifica a codificação usada.When overridden in a derived class, returns a span containing the sequence of bytes that specifies the encoding used.

(Herdado de Encoding)
WebName

Quando substituído em uma classe derivada, obtém o nome registrado na IANA (Internet Assigned Numbers Authority) da codificação atual.When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.

(Herdado de Encoding)
WindowsCodePage

Quando substituído em uma classe derivada, obtém a página de código de sistema operacional Windows que mais bem corresponde à codificação atual.When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding.

(Herdado de Encoding)

Métodos

Clone()

Quando substituído em uma classe derivada, cria uma cópia superficial do objeto Encoding atual.When overridden in a derived class, creates a shallow copy of the current Encoding object.

(Herdado de Encoding)
Equals(Object)

Obtém um valor que indica se o objeto especificado é igual ao objeto UTF7Encoding atual.Gets a value indicating whether the specified object is equal to the current UTF7Encoding object.

GetByteCount(Char*, Int32)

Calcula o número de bytes produzidos ao codificar um conjunto de caracteres, começando no ponteiro de caracteres especificado.Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

GetByteCount(Char[])

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de todos os caracteres na 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.

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

Calcula o número de bytes produzidos codificando um conjunto de caracteres da matriz de caracteres especificada.Calculates the number of bytes produced by encoding a set of characters from the specified character array.

GetByteCount(ReadOnlySpan<Char>)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação dos caracteres no intervalo de caracteres especificado.When overridden in a derived class, calculates the number of bytes produced by encoding the characters in the specified character span.

(Herdado de Encoding)
GetByteCount(String)

Calcula o número de bytes produzidos codificando todos os caracteres no objeto String especificado.Calculates the number of bytes produced by encoding the characters in the specified String object.

GetByteCount(String, Int32, Int32)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de um conjunto de caracteres da cadeia de caracteres especificada.When overridden in a derived class, calculates the number of bytes produced by encoding a set of characters from the specified string.

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

Codifica um conjunto de caracteres começando no ponteiro de caractere especificado em uma sequência de bytes armazenados começando no ponteiro de byte 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[])

Quando substituído em uma classe derivada, codifica todos os caracteres na matriz de caracteres especificada em uma sequência de bytes.When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes.

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

Quando substituído em uma classe derivada, codifica um conjunto de caracteres na matriz de caracteres especificada em uma sequência de bytes.When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes.

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

Codifica um conjunto de caracteres da matriz de caracteres especificada na matriz de bytes especificada.Encodes a set of characters from the specified character array into the specified byte array.

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

Quando substituído em uma classe derivada, codifica em um intervalo de bytes um conjunto de caracteres do intervalo somente leitura especificado.When overridden in a derived class, encodes into a span of bytes a set of characters from the specified read-only span.

(Herdado de Encoding)
GetBytes(String)

Quando substituído em uma classe derivada, codifica todos os caracteres na cadeia de caracteres especificada em uma sequência de bytes.When overridden in a derived class, encodes all the characters in the specified string into a sequence of bytes.

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

Quando substituído em uma classe derivada, codifica em uma matriz de bytes o número de caracteres especificado por count na cadeia de caracteres especificada, começando do index especificado.When overridden in a derived class, encodes into an array of bytes the number of characters specified by count in the specified string, starting from the specified index.

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

Codifica um conjunto de caracteres do String especificado para a matriz de bytes especificada.Encodes a set of characters from the specified String into the specified byte array.

GetCharCount(Byte*, Int32)

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes começando no ponteiro de bytes especificado.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[])

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos decodificando todos os bytes na 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.

(Herdado de Encoding)
GetCharCount(Byte[], Int32, Int32)

Calcula o número de caracteres produzidos pela decodificação de uma sequência de bytes da matriz de bytes especificada.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos decodificando o intervalo de bytes somente leitura fornecido.When overridden in a derived class, calculates the number of characters produced by decoding the provided read-only byte span.

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

Decodifica uma sequência de bytes começando no ponteiro de byte especificado em um conjunto de caracteres armazenados começando no ponteiro de caractere 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[])

Quando substituído em uma classe derivada, decodifica todos os bytes na matriz de bytes especificada em um conjunto de caracteres.When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters.

(Herdado de Encoding)
GetChars(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes da matriz de bytes especificada em um conjunto de caracteres.When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters.

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

Decodifica uma sequência de bytes da matriz de bytes especificada na matriz de caracteres especificada.Decodes a sequence of bytes from the specified byte array into the specified character array.

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

Quando substituído em uma classe derivada, decodifica todos os bytes no intervalo de bytes somente leitura especificado em um intervalo de caracteres.When overridden in a derived class, decodes all the bytes in the specified read-only byte span into a character span.

(Herdado de Encoding)
GetDecoder()

Obtém um decodificador que converte uma sequência de bytes codificada em UTF-7 em uma sequência de caracteres Unicode.Obtains a decoder that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters.

GetEncoder()

Obtém um codificador que converte uma sequência de caracteres Unicode em uma sequência de bytes codificada em UTF-7.Obtains an encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes.

GetHashCode()

Retorna o código hash para o objeto UTF7Encoding atual.Returns the hash code for the current UTF7Encoding object.

GetMaxByteCount(Int32)

Calcula o número máximo de bytes produzidos pela codificação do número de caracteres especificado.Calculates the maximum number of bytes produced by encoding the specified number of characters.

GetMaxCharCount(Int32)

Calcula o número máximo de caracteres produzidos decodificando o número de bytes especificado.Calculates the maximum number of characters produced by decoding the specified number of bytes.

GetPreamble()

Quando substituído em uma classe derivada, retorna uma sequência de bytes que especifica a codificação usada.When overridden in a derived class, returns a sequence of bytes that specifies the encoding used.

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

Quando substituído em uma classe derivada, decodifica um número especificado de bytes, começando em um endereço especificado em uma cadeia de caracteres.When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string.

(Herdado de Encoding)
GetString(Byte[])

Quando substituído em uma classe derivada, decodifica todos os bytes na matriz de bytes especificada em uma cadeia de caracteres.When overridden in a derived class, decodes all the bytes in the specified byte array into a string.

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

Decodifica um intervalo de bytes de uma matriz de bytes em uma cadeia de caracteres.Decodes a range of bytes from a byte array into a string.

GetString(ReadOnlySpan<Byte>)

Quando substituído em uma classe derivada, decodifica todos os bytes no intervalo de bytes especificado em uma cadeia de caracteres.When overridden in a derived class, decodes all the bytes in the specified byte span into a string.

(Herdado de Encoding)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
IsAlwaysNormalized()

Obtém um valor que indica se a codificação atual sempre é normalizada usando o formulário de normalização padrão.Gets a value indicating whether the current encoding is always normalized, using the default normalization form.

(Herdado de Encoding)
IsAlwaysNormalized(NormalizationForm)

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual sempre é normalizada usando a forma de normalização especificada.When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form.

(Herdado de Encoding)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também