Compartilhar via


UTF7Encoding Classe

Definição

Representa uma codificação de caracteres Unicode UTF-7.

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
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. Observe que quando a matriz de bytes é decodificada de volta para uma cadeia de caracteres, nenhum dado é perdido.

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. A decodificação é o processo de transformação de uma sequência de bytes codificados em um conjunto de caracteres Unicode.

A codificação UTF-7 representa caracteres Unicode como sequências de caracteres ASCII de 7 bits. Essa codificação dá suporte a determinados protocolos para os quais é necessário, na maioria das vezes, protocolos de email ou grupo de notícias. Como o UTF-7 não é particularmente seguro ou robusto, e a maioria dos sistemas modernos permite codificações de 8 bits, o UTF-8 normalmente deve ser preferido para UTF-7.

Observação

UTF7Encoding não fornece detecção de erros. Por motivos de segurança, o aplicativo deve usar UTF8Encoding, UnicodeEncodingou UTF32Encoding e habilitar a detecção de erros.

Para obter mais informações sobre os UTFs e outras codificações compatíveis com System.Texto , consulte Codificação de caracteres no .NET Framework.

O GetByteCount método determina quantos bytes resultam na codificação de um conjunto de caracteres Unicode e o GetBytes método executa a codificação real.

Da mesma forma, o GetCharCount método determina quantos caracteres resultam na decodificação de uma sequência de bytes e os GetChars métodos e GetString executam a decodificação real.

UTF7Encoding corresponde à página de código do Windows 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 .NET Framework versões.

Construtores

UTF7Encoding()
Obsoleto.

Inicializa uma nova instância da classe UTF7Encoding.

UTF7Encoding(Boolean)
Obsoleto.

Inicializa uma nova instância da classe UTF7Encoding. Um parâmetro especifica se devem ser permitidos caracteres opcionais.

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.

(Herdado de Encoding)
CodePage

Quando é substituído em uma classe derivada, obtém o identificador de página de código do Encoding atual.

(Herdado de Encoding)
DecoderFallback

Obtém ou define o objeto DecoderFallback para o objeto Encoding atual.

(Herdado de Encoding)
EncoderFallback

Obtém ou define o objeto EncoderFallback para o objeto Encoding atual.

(Herdado de Encoding)
EncodingName

Quando substituído em uma classe derivada, obtém a descrição legível por humanos da codificação atual.

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

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

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

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

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

(Herdado de Encoding)
IsReadOnly

Quando substituído em uma classe derivada, obtém um valor que indica se a codificação atual é somente leitura.

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

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

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

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

(Herdado de Encoding)

Métodos

Clone()

Quando substituído em uma classe derivada, cria uma cópia superficial do objeto Encoding atual.

(Herdado de Encoding)
Equals(Object)

Obtém um valor que indica se o objeto especificado é igual ao objeto UTF7Encoding atual.

Equals(Object)

Determina se o Object especificado é igual à instância atual.

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

Calcula o número de bytes produzidos ao codificar um conjunto de caracteres, começando no ponteiro de caracteres especificado.

GetByteCount(Char*, Int32)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de um conjunto de caracteres começando no ponteiro de caracteres especificado.

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

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

Calcula o número de bytes produzidos codificando um conjunto de caracteres da matriz de caracteres especificada.

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.

(Herdado de Encoding)
GetByteCount(String)

Calcula o número de bytes produzidos codificando todos os caracteres no objeto String especificado.

GetByteCount(String)

Quando substituído em uma classe derivada, calcula o número de bytes produzidos pela codificação de caracteres na cadeia de caracteres especificada.

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

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

GetBytes(Char*, Int32, Byte*, Int32)

Quando substituído em uma classe derivada, codifica um conjunto de caracteres começando no ponteiro de caractere especificado em uma sequência de bytes armazenados do ponteiro de bytes especificado.

(Herdado de Encoding)
GetBytes(Char[])

Quando substituído em uma classe derivada, codifica todos os caracteres na matriz de caracteres especificada em uma sequência de 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.

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

Codifica um conjunto de caracteres da matriz de caracteres especificada na matriz de bytes especificada.

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.

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

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

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

Codifica um conjunto de caracteres do String especificado para a matriz de bytes especificada.

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

Quando substituído em uma classe derivada, codifica um conjunto de caracteres da cadeia de caracteres especificada em uma matriz de bytes especificada.

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

GetCharCount(Byte*, Int32)

Quando substituído em uma classe derivada, calcula o número de caracteres produzidos usando a decodificação de uma sequência de bytes começando no ponteiro de bytes especificado.

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

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

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.

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

GetChars(Byte*, Int32, Char*, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes iniciando no ponteiro de bytes especificado em um conjunto de caracteres começando no ponteiro de caractere especificado.

(Herdado de Encoding)
GetChars(Byte[])

Quando substituído em uma classe derivada, decodifica todos os bytes na matriz de bytes especificada em um conjunto de caracteres.

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

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

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.

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

GetEncoder()

Obtém um codificador que converte uma sequência de caracteres Unicode em uma sequência de bytes codificada em UTF-7.

GetHashCode()

Retorna o código hash para o objeto UTF7Encoding atual.

GetHashCode()

Retorna o código hash para a instância atual.

(Herdado de Encoding)
GetMaxByteCount(Int32)

Calcula o número máximo de bytes produzidos pela codificação do número de caracteres especificado.

GetMaxCharCount(Int32)

Calcula o número máximo de caracteres produzidos decodificando o número de bytes especificado.

GetPreamble()

Quando substituído em uma classe derivada, retorna uma sequência de bytes que especifica a codificação usada.

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

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

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

Decodifica um intervalo de bytes de uma matriz de bytes em uma cadeia de caracteres.

GetString(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, decodifica uma sequência de bytes da matriz de bytes especificada em uma cadeia de caracteres.

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

Quando substituído em uma classe derivada, decodifica todos os bytes no intervalo de bytes especificado em uma cadeia de caracteres.

(Herdado de Encoding)
GetType()

Obtém o Type da instância atual.

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

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

(Herdado de Encoding)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Codifica em um intervalo de bytes um conjunto de caracteres do intervalo somente leitura especificado se o destino for grande o suficiente.

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

Decodifica em um intervalo de caracteres um conjunto de bytes do intervalo somente leitura especificado se o destino for grande o suficiente.

(Herdado de Encoding)

Métodos de Extensão

GetBytes(Encoding, ReadOnlySequence<Char>)

Codifica o ReadOnlySequence<T> especificado em uma matriz Byte usando o Encoding especificado.

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

Decodifica o ReadOnlySequence<T> especificado para bytes usando o Encoding especificado e grava o resultado em writer.

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

Codifica o ReadOnlySequence<T> especificado para bytes usando o Encoding especificado e gera o resultado para bytes.

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

Codifica o ReadOnlySpan<T> especificado para bytes usando o Encoding especificado e grava o resultado em writer.

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

Decodifica o ReadOnlySequence<T> especificado para chars usando o Encoding especificado e grava o resultado em writer.

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

Decodifica o ReadOnlySequence<T> especificado para chars usando o Encoding especificado e gera o resultado para chars.

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

Decodifica o ReadOnlySpan<T> especificado para chars usando o Encoding especificado e grava o resultado em writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Decodifica o ReadOnlySequence<T> especificado em um String usando o Encoding especificado.

Aplica-se a

Confira também