ASCIIEncoding.GetString Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
GetString(Byte[]) | |
GetString(Byte[], Int32, Int32) |
Descodifica un intervalo de bytes de una matriz de bytes en una cadena. |
GetString(Byte[])
GetString(Byte[], Int32, Int32)
Descodifica un intervalo de bytes de una matriz de bytes en una cadena.
public:
override System::String ^ GetString(cli::array <System::Byte> ^ bytes, int byteIndex, int byteCount);
public override string GetString (byte[] bytes, int byteIndex, int byteCount);
override this.GetString : byte[] * int * int -> string
Public Overrides Function GetString (bytes As Byte(), byteIndex As Integer, byteCount As Integer) As String
Parámetros
- bytes
- Byte[]
Matriz de bytes que contiene la secuencia de bytes que se va a descodificar.
- byteIndex
- Int32
Índice del primer byte que se va a descodificar.
- byteCount
- Int32
Número de bytes que se van a descodificar.
Devoluciones
Objeto String que contiene los resultados obtenidos al descodificar la secuencia de bytes especificada.
Excepciones
bytes
es null
.
index
o count
es menor que cero.
O bien
index
y count
no denotan un intervalo válido en bytes
.
Se ha producido una reserva (para más información, vea Codificación de caracteres en .NET)
- y - El valor de DecoderFallback está establecido en DecoderExceptionFallback.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el GetString método para convertir una matriz de bytes en .String
using namespace System;
using namespace System::Text;
int main()
{
// Define a string.
String^ original = "ASCII Encoding Example";
// Instantiate an ASCII encoding object.
ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
// Create an ASCII byte array.
array<Byte>^ bytes = ascii->GetBytes(original);
// Display encoded bytes.
Console::Write("Encoded bytes (in hex): ");
for each (Byte value in bytes)
Console::Write("{0:X2} ", value);
Console::WriteLine();
// Decode the bytes and display the resulting Unicode string.
String^ decoded = ascii->GetString(bytes);
Console::WriteLine("Decoded string: '{0}'", decoded);
}
// The example displays the following output:
// Encoded bytes (in hex): 41 53 43 49 49 20 45 6E 63 6F 64 69 6E 67 20 45 78 61 6D 70 6C 65
// Decoded string: 'ASCII Encoding Example'
using System;
using System.Text;
class Example
{
public static void Main()
{
// Define a string.
String original = "ASCII Encoding Example";
// Instantiate an ASCII encoding object.
ASCIIEncoding ascii = new ASCIIEncoding();
// Create an ASCII byte array.
Byte[] bytes = ascii.GetBytes(original);
// Display encoded bytes.
Console.Write("Encoded bytes (in hex): ");
foreach (var value in bytes)
Console.Write("{0:X2} ", value);
Console.WriteLine();
// Decode the bytes and display the resulting Unicode string.
String decoded = ascii.GetString(bytes);
Console.WriteLine("Decoded string: '{0}'", decoded);
}
}
// The example displays the following output:
// Encoded bytes (in hex): 41 53 43 49 49 20 45 6E 63 6F 64 69 6E 67 20 45 78 61 6D 70 6C 65
// Decoded string: 'ASCII Encoding Example'
Imports System.Text
Module Example
Public Sub Main()
' Define a string.
Dim original As String = "ASCII Encoding Example"
' Instantiate an ASCII encoding object.
Dim ascii As New ASCIIEncoding()
' Create an ASCII byte array.
Dim bytes() As Byte = ascii.GetBytes(original)
' Display encoded bytes.
Console.Write("Encoded bytes (in hex): ")
For Each value In bytes
Console.Write("{0:X2} ", value)
Next
Console.WriteLine()
' Decode the bytes and display the resulting Unicode string.
Dim decoded As String = ascii.GetString(bytes)
Console.WriteLine("Decoded string: '{0}'", decoded)
End Sub
End Module
' The example displays the following output:
' Encoded bytes (in hex): 41 53 43 49 49 20 45 6E 63 6F 64 69 6E 67 20 45 78 61 6D 70 6C 65
' Decoded string: 'ASCII Encoding Example'
Comentarios
Los datos que se van a convertir, como los datos leídos de una secuencia, solo pueden estar disponibles en bloques secuenciales. En este caso, o si la cantidad de datos es tan grande que debe dividirse en bloques más pequeños, la aplicación debe usar o Decoder proporcionado Encoder por el GetDecoder método o el GetEncoder método , respectivamente.
ASCIIEncoding no proporciona detección de errores. Cualquier byte mayor que 0x7F hexadecimal se descodifica como el signo de interrogación Unicode ("?").
Precaución
Por motivos de seguridad, debe usar las UTF8Encodingclases , UnicodeEncodingo UTF32Encoding y habilitar la detección de errores en lugar de usar la ASCIIEncoding clase .
Consulte también
- GetChars(Byte[], Int32, Int32, Char[], Int32)
- GetDecoder()
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)