Partilhar via


Codificando Tipos Base

Os caracteres são entidades abstratas que podem ser representadas usando vários esquemas de caracteres diferentes ou páginas de código.Por exemplo, a codificação Unicode UTF-16 representa caracteres como sequências de inteiros de 16 bits, enquanto Unicode UTF-8 representa os mesmos caracteres como sequências de bytes de 8 bits.O Common Language Runtime usa Unicode UTF-16 (Unicode Transformation Format, Formulário de codificação de 16 bits) para representar caracteres.

Aplicativos destinados a Common Language Runtime usam codificação para mapear representações de caracteres do esquema de caracteres nativo para outras esquemas.Os aplicativos usam decodificação para mapear caracteres de esquemas não nativos até esquemas nativos.A tabela a seguir lista as classes mais comumente usadas no namespace System.Text para codificar e decodificar caracteres.

Esquema de caractere

Classe

Explicação

Codificação ASCII

System.Text.ASCIIEncoding

Converte para caracteres ASCII e de caracters ASCII.

Codificação Múltipla

System.Text.Encoding

Converte caracteres para várias codificações e de várias codificações conforme especificado no método Convert.

A codificação Unicode UTF-16

System.Text.UnicodeEncoding

Converte para a codificação UTF-16 e da codificação UTF-8.Este esquema representa caracteres como inteiros de 16 bits.

A codificação Unicode UTF-8

System.Text.UTF8Encoding

Converte para a codificação UTF-8 e da codificação UTF-8.Este esquema de codificação de Largura Variável representa caracteres usando um a quatro bytes.

O exemplo de código a seguir converte uma sequência de caracteres Unicode em uma matriz de bytes usando o método ASCIIEncoding.GetBytes.Cada byte na matriz representa o valor ASCII para a carta na posição da sequência de caracteres.

Dim MyString As String = "Encoding String."
Dim AE As New ASCIIEncoding()
Dim ByteArray As Byte() = AE.GetBytes(MyString)
Dim x as Integer
For x = 0 To ByteArray.Length - 1
   Console.Write("{0} ", ByteArray(x))
Next
string MyString = "Encoding String.";
ASCIIEncoding AE = new ASCIIEncoding();
byte[] ByteArray = AE.GetBytes(MyString);
for(int x = 0;x <= ByteArray.Length - 1; x++)
{
   Console.Write("{0} ", ByteArray[x]);
}

Este exemplo exibe o seguinte no console.O byte 69 é o valor ASCII para o caracter E; o byte 110 é o valor ASCII para o caractere n e assim por diante.

69 110 99 111 100 105 110 103 32 83 116 114 105 110 103 46

O exemplo de código a seguir converte a matriz anterior de bytes em uma matriz de caracteres usando a classe ASCIIEncoding.O método GetChars é usado para decodificar a matriz de bytes.

Dim AE As New ASCIIEncoding()
Dim ByteArray As Byte() = { 69, 110, 99, 111, 100, 105, 110, 103, 32, 83, 116, 114, 105, 110, 103, 46 }
Dim CharArray As Char() = AE.GetChars(ByteArray)
Dim x As Integer
For x = 0 To CharArray.Length - 1
   Console.Write(CharArray(x))
Next
ASCIIEncoding AE = new ASCIIEncoding();
byte[] ByteArray = { 69, 110, 99, 111, 100, 105, 110, 103, 32, 83, 116, 114, 105, 110, 103, 46 };
char[] CharArray = AE.GetChars(ByteArray);
for(int x = 0;x <= CharArray.Length - 1; x++)
{
   Console.Write(CharArray[x]);
}

O exemplo anterior exibe o texto 'Encoding String.' ao console.

Consulte também

Referência

System.Text

System.Text.ASCIIEncoding

System.Text.Encoding

System.Text.UnicodeEncoding

System.Text.UTF7Encoding

System.Text.UTF8Encoding

Outros recursos

Trabalhando com Tipos de Base