ASCIIEncoding.GetString Метод

Определение

Перегрузки

Имя Описание
GetString(Byte[])
GetString(Byte[], Int32, Int32)

Декодирует диапазон байтов из массива байтов в строку.

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

Параметры

bytes
Byte[]

Возвращаемое значение

Применяется к

GetString(Byte[], Int32, Int32)

Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs
Исходный код:
ASCIIEncoding.cs

Декодирует диапазон байтов из массива байтов в строку.

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

Параметры

bytes
Byte[]

Массив байтов, содержащий последовательность байтов для декодирования.

byteIndex
Int32

Индекс первого байта для декодирования.

byteCount
Int32

Количество байтов, которые необходимо декодировать.

Возвращаемое значение

Содержит String результаты декодирования указанной последовательности байтов.

Исключения

bytes равно null.

byteIndex или byteCount меньше нуля.

–или–

byteIndex и byteCount не обозначайте допустимый диапазон в bytes.

Произошла резервная ошибка (дополнительные сведения см. в разделе "Кодировка символов" в .NET)

-и-

DecoderFallback задан как DecoderExceptionFallback.

Примеры

В следующем примере показано, как использовать GetString метод для преобразования массива байтов в объект String.

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'

Комментарии

Данные для преобразования, такие как чтение данных из потока, могут быть доступны только в последовательных блоках. В этом случае или если объем данных настолько велик, что его необходимо разделить на меньшие блоки, приложение должно использовать Decoder или Encoder предоставленный GetDecoder методом GetEncoder соответственно.

ASCIIEncoding не предоставляет обнаружение ошибок. Любой байт больше шестнадцатеричного 0x7F декодируется как вопросительный знак Юникода ("?").

Предостережение

По соображениям безопасности следует использовать UTF8Encodingклассы UnicodeEncodingили UTF32Encoding классы и включить обнаружение ошибок вместо использования ASCIIEncoding класса.

См. также раздел

Применяется к