ASCIIEncoding.GetString Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| GetString(Byte[], Int32, Int32) |
Decodiert einen Bytebereich von einem Bytearray in eine Zeichenfolge. |
| GetString(Byte[]) |
GetString(Byte[], Int32, Int32)
Decodiert einen Bytebereich von einem Bytearray in eine Zeichenfolge.
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
Parameter
- bytes
- Byte[]
Das Bytearray, das die Abfolge von Bytes enthält, die decodiert werden sollen.
- byteIndex
- Int32
Der Index des ersten zu decodierenden Bytes.
- byteCount
- Int32
Die Anzahl der Bytes, die decodiert werden sollen.
Gibt zurück
A String mit den Ergebnissen der Decodierung der angegebenen Bytesequenz.
Ausnahmen
bytes ist null.
byteIndex oder byteCount ist kleiner als Null.
-oder-
byteIndex und byteCount keinen gültigen Bereich in bytes.
Ein Fallback ist aufgetreten (weitere Informationen finden Sie unter "Zeichencodierung in .NET")
-und-
DecoderFallback ist auf DecoderExceptionFallback festgelegt.
Beispiele
Das folgende Beispiel veranschaulicht, wie die GetString Methode zum Konvertieren eines Bytearrays in ein 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'
Hinweise
Daten, die konvertiert werden sollen, z. B. Daten, die aus einem Datenstrom gelesen werden, können nur in sequenziellen Blöcken verfügbar sein. In diesem Fall oder wenn die Datenmenge so groß ist, dass sie in kleinere Blöcke unterteilt werden muss, sollte die Anwendung die Decoder oder die Encoder von der GetDecoder Methode bzw. methode GetEncoder bereitgestellte Verwenden.
ASCIIEncoding stellt keine Fehlererkennung bereit. Jedes Byte größer als hexadezimale 0x7F wird als Unicode-Fragezeichen ("?") decodiert.
Vorsicht
Aus Sicherheitsgründen sollten Sie die UTF8EncodingKlassen UnicodeEncodingoder UTF32Encoding Klassen verwenden und die Fehlererkennung anstelle der ASCIIEncoding Klasse aktivieren.
Weitere Informationen
- GetChars(Byte[], Int32, Int32, Char[], Int32)
- GetDecoder()
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)