ASCIIEncoding.GetString Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| GetString(Byte[], Int32, Int32) |
Decodeert een bereik van bytes van een bytematrix in een tekenreeks. |
| GetString(Byte[]) |
GetString(Byte[], Int32, Int32)
Decodeert een bereik van bytes van een bytematrix in een tekenreeks.
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
Parameters
- bytes
- Byte[]
De bytematrix met de reeks bytes die moet worden gedecodeerd.
- byteIndex
- Int32
De index van de eerste byte om te decoderen.
- byteCount
- Int32
Het aantal bytes dat moet worden gedecodeerd.
Retouren
Een String met de resultaten van het decoderen van de opgegeven reeks bytes.
Uitzonderingen
bytes is null.
byteIndex of byteCount kleiner is dan nul.
– of –
byteIndex en byteCount geef geen geldig bereik aan in bytes.
Er is een terugval opgetreden (zie Character Encoding in .NET)
en
DecoderFallback is ingesteld op DecoderExceptionFallback.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de GetString methode gebruikt om een bytematrix te converteren naar een 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'
Opmerkingen
Gegevens die moeten worden geconverteerd, zoals gegevens die uit een stream worden gelezen, kunnen alleen in opeenvolgende blokken beschikbaar zijn. In dit geval, of als de hoeveelheid gegevens zo groot is dat deze moet worden onderverdeeld in kleinere blokken, moet de toepassing respectievelijk de Decoder door de GetDecoder methode of de methode opgegeven methode Encoder of de GetEncoder methode gebruiken.
ASCIIEncoding biedt geen foutdetectie. Elke byte groter dan hexadecimale 0x7F wordt gedecodeerd als het Unicode-vraagteken ('?').
Caution
Om veiligheidsredenen moet u de UTF8Encoding, UnicodeEncodingof UTF32Encoding klassen gebruiken en foutdetectie inschakelen in plaats van de ASCIIEncoding klasse.
Zie ook
- GetChars(Byte[], Int32, Int32, Char[], Int32)
- GetDecoder()
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)