ASCIIEncoding.GetChars 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.
Décode une séquence d’octets en un ensemble de caractères.
Surcharges
| Nom | Description |
|---|---|
| GetChars(Byte*, Int32, Char*, Int32) |
Décode une séquence d’octets commençant au pointeur d’octet spécifié dans un ensemble de caractères stockés à partir du pointeur de caractères spécifié. |
| GetChars(Byte[], Int32, Int32, Char[], Int32) |
Décode une séquence d’octets du tableau d’octets spécifié dans le tableau de caractères spécifié. |
GetChars(Byte*, Int32, Char*, Int32)
Important
Cette API n’est pas conforme CLS.
- Alternative à la conformité CLS
- System.Text.ASCIIEncoding.GetChars(Byte[], Int32, Int32, Char[], Int32)
Décode une séquence d’octets commençant au pointeur d’octet spécifié dans un ensemble de caractères stockés à partir du pointeur de caractères spécifié.
public:
override int GetChars(System::Byte* bytes, int byteCount, char* chars, int charCount);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
[System.CLSCompliant(false)]
public override int GetChars(byte* bytes, int byteCount, char* chars, int charCount);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetChars : nativeptr<byte> * int * nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetChars : nativeptr<byte> * int * nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetChars : nativeptr<byte> * int * nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
override this.GetChars : nativeptr<byte> * int * nativeptr<char> * int -> int
Paramètres
- bytes
- Byte*
Pointeur vers le premier octet à décoder.
- byteCount
- Int32
Nombre d’octets à décoder.
- chars
- Char*
Pointeur vers l’emplacement auquel commencer l’écriture du jeu de caractères résultant.
- charCount
- Int32
Nombre maximal de caractères à écrire.
Retours
Nombre réel de caractères écrits à l’emplacement indiqué par chars.
- Attributs
Exceptions
byteCount ou charCount est inférieur à zéro.
charCount est inférieur au nombre de caractères résultant.
Un secours s’est produit (pour plus d’informations, consultez Encodage de caractères dans .NET)
-et-
DecoderFallback a la valeur DecoderExceptionFallback.
Remarques
Pour calculer la taille exacte du tableau requise pour GetChars stocker les caractères résultants, l’application utilise GetCharCount. Pour calculer la taille maximale du tableau, l’application doit utiliser GetMaxCharCount. La GetCharCount méthode autorise généralement l’allocation de moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.
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 si importante qu’elle doit être divisée en blocs plus petits, l’application doit utiliser respectivement la Decoder méthode ou Encoder la GetDecoderGetEncoder méthode fournie.
ASCIIEncoding ne fournit pas de détection d’erreur. Tout octet supérieur à l'0x7F hexadécimal est décodé en tant que point d’interrogation Unicode (« ? »).
Avertissement
Pour des raisons de sécurité, votre application est recommandée pour utiliser UTF8Encoding, UnicodeEncodingou UTF32Encoding activer la détection des erreurs.
Voir aussi
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)
- GetDecoder()
- GetString(Byte[], Int32, Int32)
S’applique à
GetChars(Byte[], Int32, Int32, Char[], Int32)
Décode une séquence d’octets du tableau d’octets spécifié dans le tableau de caractères spécifié.
public:
override int GetChars(cli::array <System::Byte> ^ bytes, int byteIndex, int byteCount, cli::array <char> ^ chars, int charIndex);
public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);
override this.GetChars : byte[] * int * int * char[] * int -> int
Public Overrides Function GetChars (bytes As Byte(), byteIndex As Integer, byteCount As Integer, chars As Char(), charIndex As Integer) As Integer
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.
- chars
- Char[]
Tableau de caractères à contenir le jeu de caractères résultant.
- charIndex
- Int32
Index auquel commencer l’écriture du jeu de caractères résultant.
Retours
Nombre réel de caractères écrits en chars.
Exceptions
byteIndex ou byteCountcharIndex est inférieur à zéro.
-ou-
byteIndex et byteCount ne désignent pas une plage valide en bytes.
-ou-
charIndex n’est pas un index valide dans chars.
chars n’a pas suffisamment de capacité de charIndex la fin du tableau pour prendre en charge les caractères résultants.
Un secours s’est produit (pour plus d’informations, consultez Encodage de caractères dans .NET)
-et-
DecoderFallback a la valeur DecoderExceptionFallback.
Exemples
L’exemple suivant montre comment décoder une plage d’éléments à partir d’un tableau d’octets et stocker le résultat dans un ensemble d’éléments dans un tableau de caractères Unicode.
using System;
using System.Text;
class ASCIIEncodingExample {
public static void Main() {
Char[] chars;
Byte[] bytes = new Byte[] {
65, 83, 67, 73, 73, 32, 69,
110, 99, 111, 100, 105, 110, 103,
32, 69, 120, 97, 109, 112, 108, 101
};
ASCIIEncoding ascii = new ASCIIEncoding();
int charCount = ascii.GetCharCount(bytes, 6, 8);
chars = new Char[charCount];
int charsDecodedCount = ascii.GetChars(bytes, 6, 8, chars, 0);
Console.WriteLine(
"{0} characters used to decode bytes.", charsDecodedCount
);
Console.Write("Decoded chars: ");
foreach (Char c in chars) {
Console.Write("[{0}]", c);
}
Console.WriteLine();
}
}
Imports System.Text
Class ASCIIEncodingExample
Public Shared Sub Main()
Dim chars() As Char
Dim bytes() As Byte = { _
65, 83, 67, 73, 73, 32, 69, _
110, 99, 111, 100, 105, 110, 103, _
32, 69, 120, 97, 109, 112, 108, 101}
Dim ascii As New ASCIIEncoding()
Dim charCount As Integer = ascii.GetCharCount(bytes, 6, 8)
chars = New Char(charCount - 1) {}
Dim charsDecodedCount As Integer = ascii.GetChars(bytes, 6, 8, chars, 0)
Console.WriteLine("{0} characters used to decode bytes.", charsDecodedCount)
Console.Write("Decoded chars: ")
Dim c As Char
For Each c In chars
Console.Write("[{0}]", c)
Next c
Console.WriteLine()
End Sub
End Class
Remarques
Pour calculer la taille exacte du tableau requise pour GetChars stocker les caractères résultants, l’application utilise GetCharCount. Pour calculer la taille maximale du tableau, l’application doit utiliser GetMaxCharCount. La GetCharCount méthode autorise généralement l’allocation de moins de mémoire, tandis que la GetMaxCharCount méthode s’exécute généralement plus rapidement.
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 si importante qu’elle doit être divisée en blocs plus petits, l’application doit utiliser respectivement la Decoder méthode ou Encoder la GetDecoderGetEncoder méthode fournie.
ASCIIEncoding ne fournit pas de détection d’erreur. Tout octet supérieur à l'0x7F hexadécimal est décodé en tant que point d’interrogation Unicode (« ? »).
Avertissement
Pour des raisons de sécurité, votre application est recommandée pour utiliser UTF8Encoding, UnicodeEncodingou UTF32Encoding activer la détection des erreurs.
Voir aussi
- GetCharCount(Byte[], Int32, Int32)
- GetMaxCharCount(Int32)
- GetDecoder()
- GetString(Byte[], Int32, Int32)