Compartir a través de


ASCIIEncoding.GetString Método

Definición

Sobrecargas

GetString(Byte[])
GetString(Byte[], Int32, Int32)

Descodifica un intervalo de bytes de una matriz de bytes en una cadena.

GetString(Byte[])

public:
 override System::String ^ GetString(cli::array <System::Byte> ^ bytes);
public override string GetString (byte[] bytes);
override this.GetString : byte[] -> string
Public Overrides Function GetString (bytes As Byte()) As String

Parámetros

bytes
Byte[]

Devoluciones

Se aplica a

GetString(Byte[], Int32, Int32)

Source:
ASCIIEncoding.cs
Source:
ASCIIEncoding.cs
Source:
ASCIIEncoding.cs

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 desde 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 el Encoder proporcionado 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

Se aplica a