ASCIIEncoding.GetString Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
GetString(Byte[]) | |
GetString(Byte[], Int32, Int32) |
Décode une plage d'octets d'un tableau d'octets en une chaîne. |
GetString(Byte[])
GetString(Byte[], Int32, Int32)
- Source:
- ASCIIEncoding.cs
- Source:
- ASCIIEncoding.cs
- Source:
- ASCIIEncoding.cs
Décode une plage d'octets d'un tableau d'octets en une chaîne.
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
Paramètres
- bytes
- Byte[]
Tableau d'octets contenant la séquence d'octets à décoder.
- byteIndex
- Int32
Index du premier octet à décoder.
- byteCount
- Int32
Nombre d'octets à décoder.
Retours
String contenant les résultats du décodage de la séquence d'octets spécifiée.
Exceptions
bytes
a la valeur null
.
index
ou count
est inférieur à zéro.
- ou -
index
et count
ne désignent pas une plage valide dans bytes
.
Un secours s’est produit (pour plus d’informations, consultez Codage de caractères dans .NET)
-et-
DecoderFallback a la valeur DecoderExceptionFallback.
Exemples
L’exemple suivant montre comment utiliser la GetString méthode pour convertir un tableau d’octets 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'
Remarques
Les données à convertir, telles que les données lues à partir d’un flux, ne peuvent être disponibles que dans des blocs séquentiels. Dans ce cas, ou si la quantité de données est telle qu’elle doit être divisée en blocs plus petits, l’application doit utiliser le Decoder ou Encoder fourni par la GetDecoder méthode ou la GetEncoder méthode, respectivement.
ASCIIEncoding ne fournit pas de détection des erreurs. Tout octet supérieur à 0x7F hexadécimal est décodé en tant que point d’interrogation Unicode (« ? »).
Attention
Pour des raisons de sécurité, vous devez utiliser les UTF8Encodingclasses , UnicodeEncodingou UTF32Encoding et activer la détection des erreurs au lieu d’utiliser la ASCIIEncoding classe .
Voir aussi
- GetChars(Byte[], Int32, Int32, Char[], Int32)
- GetDecoder()
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)