ASCIIEncoding.GetString メソッド

定義

オーバーロード

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

バイト配列に格納されているある範囲のバイトを文字列にデコードします。Decodes a range of bytes from a byte array into a string.

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)

バイト配列に格納されているある範囲のバイトを文字列にデコードします。Decodes a range of bytes from a byte array into a string.

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[]

デコード対象のバイト シーケンスが格納されたバイト配列。The byte array containing the sequence of bytes to decode.

byteIndex
Int32

デコードする最初のバイトのインデックス。The index of the first byte to decode.

byteCount
Int32

デコードするバイト数。The number of bytes to decode.

戻り値

指定したバイト シーケンスのデコード結果が格納されている StringA String containing the results of decoding the specified sequence of bytes.

例外

bytesnullです。bytes is null.

index または count が 0 未満です。index or count is less than zero.

- または --or- index および countbytes において有効な範囲を表していません。index and count do not denote a valid range in bytes.

フォールバックが発生しました (詳細については「.NET での文字エンコード」を参照)A fallback occurred (for more information, see Character Encoding in .NET) および-and- DecoderFallbackDecoderExceptionFallback に設定されます。DecoderFallback is set to DecoderExceptionFallback.

次の例では、GetString メソッドを使用して、バイト配列を Stringに変換する方法を示します。The following example demonstrates how to use the GetString method to convert a byte array into a 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'

注釈

ストリームから読み取られたデータなど、変換されるデータは、連続したブロックでのみ使用できます。Data to be converted, such as data read from a stream, can be available only in sequential blocks. この場合、またはデータ量が非常に大きく、小さいブロックに分割する必要がある場合、アプリケーションでは、GetDecoder メソッドまたは GetEncoder メソッドによって提供される Decoder または Encoder をそれぞれ使用する必要があります。In this case, or if the amount of data is so large that it needs to be divided into smaller blocks, the application should use the Decoder or the Encoder provided by the GetDecoder method or the GetEncoder method, respectively.

ASCIIEncoding では、エラー検出は提供されません。ASCIIEncoding does not provide error detection. 16進数の0x7F を超えるバイトは、Unicode の疑問符 ("?") としてデコードされます。Any byte greater than hexadecimal 0x7F is decoded as the Unicode question mark ("?").

注意事項

セキュリティ上の理由により、UTF8EncodingUnicodeEncoding、または UTF32Encoding クラスを使用し、ASCIIEncoding クラスを使用する代わりにエラー検出を有効にする必要があります。For security reasons, you should use the UTF8Encoding, UnicodeEncoding, or UTF32Encoding classes and enable error detection instead of using the ASCIIEncoding class.

こちらもご覧ください

適用対象