ASCIIEncoding Classe
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.
Représente un encodage de caractères ASCII de caractères Unicode.
public ref class ASCIIEncoding : System::Text::Encoding
public class ASCIIEncoding : System.Text.Encoding
[System.Serializable]
public class ASCIIEncoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ASCIIEncoding : System.Text.Encoding
type ASCIIEncoding = class
inherit Encoding
[<System.Serializable>]
type ASCIIEncoding = class
inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ASCIIEncoding = class
inherit Encoding
Public Class ASCIIEncoding
Inherits Encoding
- Héritage
- Attributs
Exemples
L’exemple suivant montre comment encoder des caractères Unicode en ASCII. Notez la perte de données qui se produit lorsque votre application utilise ASCIIEncoding pour encoder des caractères Unicode en dehors de la plage ASCII.
using namespace System;
using namespace System::Collections;
using namespace System::Text;
int main()
{
// The encoding.
ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
// A Unicode string with two characters outside the ASCII code range.
String^ unicodeString = L"This Unicode String* contains two characters with codes outside the ASCII code range, Pi (\u03a0) and Sigma (\u03a3).";
Console::WriteLine( "Original String*:" );
Console::WriteLine( unicodeString );
// Save positions of the special characters for later reference.
int indexOfPi = unicodeString->IndexOf( L'\u03a0' );
int indexOfSigma = unicodeString->IndexOf( L'\u03a3' );
// Encode string.
array<Byte>^encodedBytes = ascii->GetBytes( unicodeString );
Console::WriteLine();
Console::WriteLine( "Encoded bytes:" );
IEnumerator^ myEnum = encodedBytes->GetEnumerator();
while ( myEnum->MoveNext() )
{
Byte b = safe_cast<Byte>(myEnum->Current);
Console::Write( "->Item[ {0}]", b );
}
Console::WriteLine();
// Notice that the special characters have been replaced with
// the value 63, which is the ASCII character code for '?'.
Console::WriteLine();
Console::WriteLine( "Value at position of Pi character: {0}", encodedBytes[ indexOfPi ] );
Console::WriteLine( "Value at position of Sigma character: {0}", encodedBytes[ indexOfSigma ] );
// Decode bytes back to string.
// Notice missing Pi and Sigma characters.
String^ decodedString = ascii->GetString( encodedBytes );
Console::WriteLine();
Console::WriteLine( "Decoded bytes:" );
Console::WriteLine( decodedString );
}
// The example displays the following output:
// Original string:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (Π) and Sigma (Σ).
//
// Encoded bytes:
// [84][104][105][115][32][85][110][105][99][111][100][101][32][115][116][114][105]
// [110][103][32][99][111][110][116][97][105][110][115][32][116][119][111][32][99][
// 104][97][114][97][99][116][101][114][115][32][119][105][116][104][32][99][111][1
// 00][101][115][32][111][117][116][115][105][100][101][32][116][104][101][32][65][
// 83][67][73][73][32][99][111][100][101][32][114][97][110][103][101][44][32][80][1
// 05][32][40][63][41][32][97][110][100][32][83][105][103][109][97][32][40][63][41]
// [46]
//
// Value at position of Pi character: 63
// Value at position of Sigma character: 63
//
// Decoded bytes:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (?) and Sigma (?).
using System;
using System.Text;
class ASCIIEncodingExample {
public static void Main() {
// The encoding.
ASCIIEncoding ascii = new ASCIIEncoding();
// A Unicode string with two characters outside the ASCII code range.
String unicodeString =
"This Unicode string contains two characters " +
"with codes outside the ASCII code range, " +
"Pi (\u03a0) and Sigma (\u03a3).";
Console.WriteLine("Original string:");
Console.WriteLine(unicodeString);
// Save positions of the special characters for later reference.
int indexOfPi = unicodeString.IndexOf('\u03a0');
int indexOfSigma = unicodeString.IndexOf('\u03a3');
// Encode string.
Byte[] encodedBytes = ascii.GetBytes(unicodeString);
Console.WriteLine();
Console.WriteLine("Encoded bytes:");
foreach (Byte b in encodedBytes) {
Console.Write("[{0}]", b);
}
Console.WriteLine();
// Notice that the special characters have been replaced with
// the value 63, which is the ASCII character code for '?'.
Console.WriteLine();
Console.WriteLine(
"Value at position of Pi character: {0}",
encodedBytes[indexOfPi]
);
Console.WriteLine(
"Value at position of Sigma character: {0}",
encodedBytes[indexOfSigma]
);
// Decode bytes back to string.
// Notice missing Pi and Sigma characters.
String decodedString = ascii.GetString(encodedBytes);
Console.WriteLine();
Console.WriteLine("Decoded bytes:");
Console.WriteLine(decodedString);
}
}
// The example displays the following output:
// Original string:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (Π) and Sigma (Σ).
//
// Encoded bytes:
// [84][104][105][115][32][85][110][105][99][111][100][101][32][115][116][114][105]
// [110][103][32][99][111][110][116][97][105][110][115][32][116][119][111][32][99][
// 104][97][114][97][99][116][101][114][115][32][119][105][116][104][32][99][111][1
// 00][101][115][32][111][117][116][115][105][100][101][32][116][104][101][32][65][
// 83][67][73][73][32][99][111][100][101][32][114][97][110][103][101][44][32][80][1
// 05][32][40][63][41][32][97][110][100][32][83][105][103][109][97][32][40][63][41]
// [46]
//
// Value at position of Pi character: 63
// Value at position of Sigma character: 63
//
// Decoded bytes:
// This Unicode string contains two characters with codes outside the ASCII code ra
// nge, Pi (?) and Sigma (?).
Imports System.Text
Class ASCIIEncodingExample
Public Shared Sub Main()
' The encoding.
Dim ascii As New ASCIIEncoding()
' A Unicode string with two characters outside the ASCII code range.
Dim unicodeString As String = _
"This Unicode string contains two characters " & _
"with codes outside the ASCII code range, " & _
"Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
Console.WriteLine("Original string:")
Console.WriteLine(unicodeString)
' Save positions of the special characters for later reference.
Dim indexOfPi As Integer = unicodeString.IndexOf(ChrW(928))
Dim indexOfSigma As Integer = unicodeString.IndexOf(ChrW(931))
' Encode string.
Dim encodedBytes As Byte() = ascii.GetBytes(unicodeString)
Console.WriteLine()
Console.WriteLine("Encoded bytes:")
Dim b As Byte
For Each b In encodedBytes
Console.Write("[{0}]", b)
Next b
Console.WriteLine()
' Notice that the special characters have been replaced with
' the value 63, which is the ASCII character code for '?'.
Console.WriteLine()
Console.WriteLine( _
"Value at position of Pi character: {0}", _
encodedBytes(indexOfPi) _
)
Console.WriteLine( _
"Value at position of Sigma character: {0}", _
encodedBytes(indexOfSigma) _
)
' Decode bytes back to string.
' Notice missing Pi and Sigma characters.
Dim decodedString As String = ascii.GetString(encodedBytes)
Console.WriteLine()
Console.WriteLine("Decoded bytes:")
Console.WriteLine(decodedString)
End Sub
End Class
' The example displays the following output:
' Original string:
' This Unicode string contains two characters with codes outside the ASCII code ra
' nge, Pi (Π) and Sigma (Σ).
'
' Encoded bytes:
' [84][104][105][115][32][85][110][105][99][111][100][101][32][115][116][114][105]
' [110][103][32][99][111][110][116][97][105][110][115][32][116][119][111][32][99][
' 104][97][114][97][99][116][101][114][115][32][119][105][116][104][32][99][111][1
' 00][101][115][32][111][117][116][115][105][100][101][32][116][104][101][32][65][
' 83][67][73][73][32][99][111][100][101][32][114][97][110][103][101][44][32][80][1
' 05][32][40][63][41][32][97][110][100][32][83][105][103][109][97][32][40][63][41]
' [46]
'
' Value at position of Pi character: 63
' Value at position of Sigma character: 63
'
' Decoded bytes:
' This Unicode string contains two characters with codes outside the ASCII code ra
' nge, Pi (?) and Sigma (?).
Remarques
L'encodage est le processus de transformation d'un jeu de caractères Unicode en une séquence d'octets. Le décodage est le processus de transformation d’une séquence d’octets encodés en un ensemble de caractères Unicode.
ASCIIEncoding correspond à la page de code Windows 20127. Étant donné que ASCII est un encodage 7 bits, les caractères ASCII sont limités aux 128 caractères Unicode les plus bas, de U+0000 à U+007F. Si vous utilisez l’encodeur par défaut retourné par la Encoding.ASCII propriété ou le constructeur, les ASCIIEncoding caractères situés en dehors de cette plage sont remplacés par un point d’interrogation (?) avant l’exécution de l’opération d’encodage. Étant donné que la ASCIIEncoding classe ne prend en charge qu’un jeu de caractères limité, les UTF8Encodingclasses , UnicodeEncodinget UTF32Encoding sont mieux adaptées aux applications globalisées. Les considérations suivantes peuvent vous aider à décider s’il faut utiliser ASCIIEncoding:
Certains protocoles nécessitent ASCII ou un sous-ensemble d’ASCII. Dans ces cas, l’encodage ASCII est approprié.
Si un encodage 8 bits est attendu, ascii n’est probablement pas le bon choix. Au lieu de cela, envisagez d’utiliser UTF8 au lieu d’ASCII. Pour les caractères U+0000 à U+007F, les résultats sont identiques, mais tous les caractères Unicode peuvent être représentés en UTF-8, ce qui évite la perte de données.
Attention
ASCIIEncoding ne fournit pas de détection d’erreur. Pour des raisons de sécurité, vous devez utiliser UTF8Encoding, UnicodeEncodingou UTF32Encoding et activer la détection d’erreurs.
La GetByteCount méthode détermine le nombre d’octets entraînant l’encodage d’un jeu de caractères Unicode, et la GetBytes méthode effectue l’encodage réel.
De même, la méthode détermine le GetCharCount nombre de caractères qui entraînent le décodage d’une séquence d’octets, et les GetChars méthodes et GetString effectuent le décodage réel.
Notez que le constructeur par défaut ASCIIEncoding n’a peut-être pas le comportement approprié pour votre application. Vous pouvez envisager de définir la EncoderFallback propriété ou DecoderFallback sur EncoderExceptionFallback ou DecoderExceptionFallback pour empêcher les séquences avec le 8e bit défini. Le comportement personnalisé peut également convenir à ces cas.
Constructeurs
ASCIIEncoding() |
Initialise une nouvelle instance de la classe ASCIIEncoding. |
Propriétés
BodyName |
En cas de substitution dans une classe dérivée, obtient un nom pour l’encodage actuel qui peut être utilisé avec les étiquettes de corps de texte de l’agent de messagerie. (Hérité de Encoding) |
CodePage |
En cas de substitution dans une classe dérivée, obtient l'identificateur de la page de codes du Encoding actuel. (Hérité de Encoding) |
DecoderFallback |
Obtient ou définit l'objet DecoderFallback actuel de l'objet Encoding actuel. (Hérité de Encoding) |
EncoderFallback |
Obtient ou définit l'objet EncoderFallback actuel de l'objet Encoding actuel. (Hérité de Encoding) |
EncodingName |
En cas de substitution dans une classe dérivée, obtient la description explicite de l'encodage actuel. (Hérité de Encoding) |
HeaderName |
En cas de substitution dans une classe dérivée, obtient un nom pour l’encodage actuel qui peut être utilisé avec les étiquettes d’en-tête de l’agent de messagerie. (Hérité de Encoding) |
IsBrowserDisplay |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel peut être utilisé par les clients de navigation pour afficher le contenu. (Hérité de Encoding) |
IsBrowserSave |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel peut être utilisé par les clients de navigation pour enregistrer du contenu. (Hérité de Encoding) |
IsMailNewsDisplay |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel peut être utilisé par les clients de messagerie et de news pour afficher du contenu. (Hérité de Encoding) |
IsMailNewsSave |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel peut être utilisé par les clients de messagerie et de news pour enregistrer du contenu. (Hérité de Encoding) |
IsReadOnly |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel est en lecture seule. (Hérité de Encoding) |
IsSingleByte |
Obtient une valeur qui indique si l'encodage en cours utilise des points de code encodés sur un octet. |
IsSingleByte |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel utilise des points de code codés sur un octet. (Hérité de Encoding) |
Preamble |
En cas de substitution dans une classe dérivée, retourne une étendue contenant la séquence d'octets qui spécifie l'encodage utilisé. (Hérité de Encoding) |
WebName |
En cas de substitution dans une classe dérivée, obtient le nom inscrit auprès de l'IANA (Internet Assigned Numbers Authority) pour l'encodage actuel. (Hérité de Encoding) |
WindowsCodePage |
En cas de substitution dans une classe dérivée, obtient la page de codes du système d'exploitation Windows la plus proche de l'encodage actuel. (Hérité de Encoding) |
Méthodes
Clone() |
En cas de substitution dans une classe dérivée, crée une copie superficielle de l'objet Encoding actuel. (Hérité de Encoding) |
Equals(Object) |
Détermine si le Object spécifié est égal à l'instance actuelle. (Hérité de Encoding) |
GetByteCount(Char*, Int32) |
Calcule le nombre d'octets produits par l'encodage d'un jeu de caractères commençant au pointeur de caractère spécifié. |
GetByteCount(Char*, Int32) |
En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage d'un jeu de caractères commençant au pointeur de caractère spécifié. (Hérité de Encoding) |
GetByteCount(Char[]) |
En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage de tous les caractères du tableau de caractères spécifié. (Hérité de Encoding) |
GetByteCount(Char[], Int32, Int32) |
Calcule le nombre d'octets produits par l'encodage d'un jeu de caractères du tableau de caractères spécifié. |
GetByteCount(ReadOnlySpan<Char>) |
Calcule le nombre d’octets générés par l’encodage de l’étendue de caractères spécifiée. |
GetByteCount(ReadOnlySpan<Char>) |
En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage de tous les caractères de l’étendue de caractères spécifiée. (Hérité de Encoding) |
GetByteCount(String) |
Calcule le nombre d'octets générés en encodant les caractères dans le String spécifié. |
GetByteCount(String, Int32, Int32) |
En cas de substitution dans une classe dérivée, calcule le nombre d'octets produits par l'encodage d'un jeu de caractères de la chaîne spécifiée. (Hérité de Encoding) |
GetBytes(Char*, Int32, Byte*, Int32) |
Code une séquence de caractères commençant au pointeur de caractère spécifié en une séquence d'octets, qui sera stockée à partir du pointeur d'octet spécifié. |
GetBytes(Char*, Int32, Byte*, Int32) |
En cas de substitution dans une classe dérivée, encode un jeu de caractères commençant au pointeur de caractère spécifié en une séquence d'octets stockés à partir du pointeur d'octet spécifié. (Hérité de Encoding) |
GetBytes(Char[]) |
En cas de substitution dans une classe dérivée, encode tous les caractères du tableau de caractères spécifié en une séquence d'octets. (Hérité de Encoding) |
GetBytes(Char[], Int32, Int32) |
En cas de substitution dans une classe dérivée, encode un jeu de caractères du tableau de caractères spécifié en une séquence d'octets. (Hérité de Encoding) |
GetBytes(Char[], Int32, Int32, Byte[], Int32) |
Encode un jeu de caractères du tableau de caractères spécifié dans le tableau d'octets indiqué. |
GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
Encode l’étendue de caractères spécifiée dans l’étendue d’octets spécifiée. |
GetBytes(ReadOnlySpan<Char>, Span<Byte>) |
En cas de substitution dans une classe dérivée, encode un jeu de caractères du tableau de caractères en lecture seule spécifié en séquence d'octets. (Hérité de Encoding) |
GetBytes(String) |
En cas de substitution dans une classe dérivée, encode tous les caractères de la chaîne spécifiée en une séquence d'octets. (Hérité de Encoding) |
GetBytes(String, Int32, Int32) |
En cas de substitution dans une classe dérivée, encode en un tableau d'octets le nombre de caractères spécifié par |
GetBytes(String, Int32, Int32, Byte[], Int32) |
Encode un jeu de caractères de la chaîne String spécifiée dans le tableau d'octets indiqué. |
GetCharCount(Byte*, Int32) |
Calcule le nombre de caractères produits par le décodage d'une séquence d'octets commençant au pointeur d'octet spécifié. |
GetCharCount(Byte*, Int32) |
En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage d'une séquence d'octets commençant au pointeur d'octet spécifié. (Hérité de Encoding) |
GetCharCount(Byte[]) |
En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de tous les octets du tableau d'octets spécifié. (Hérité de Encoding) |
GetCharCount(Byte[], Int32, Int32) |
Calcule le nombre de caractères produits par le décodage d'une séquence d'octets du tableau d'octets spécifié. |
GetCharCount(ReadOnlySpan<Byte>) |
Calcule le nombre de caractères produits par le décodage de l’étendue d’octets spécifiée. |
GetCharCount(ReadOnlySpan<Byte>) |
En cas de substitution dans une classe dérivée, calcule le nombre de caractères produits par le décodage de l’étendue d’octets en lecture seule fournie. (Hérité de Encoding) |
GetChars(Byte*, Int32, Char*, Int32) |
Décode une séquence d'octets commençant au pointeur d'octet spécifié en un jeu de caractères qui sera stocké à partir du pointeur de caractère spécifié. |
GetChars(Byte*, Int32, Char*, Int32) |
En cas de substitution dans une classe dérivée, décode une séquence d'octets commençant au pointeur d'octet spécifié en un jeu de caractères stockés à partir du pointeur de caractère spécifié. (Hérité de Encoding) |
GetChars(Byte[]) |
En cas de substitution dans une classe dérivée, décode tous les octets du tableau d'octets spécifié en jeu de caractères. (Hérité de Encoding) |
GetChars(Byte[], Int32, Int32) |
En cas de substitution dans une classe dérivée, décode une séquence d'octets du tableau d'octets spécifié en un jeu de caractères. (Hérité de Encoding) |
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(ReadOnlySpan<Byte>, Span<Char>) |
Décode l’étendue d’octets spécifiée dans l’étendue de caractères spécifiée. |
GetChars(ReadOnlySpan<Byte>, Span<Char>) |
En cas de substitution dans une classe dérivée, décode tous les octets de l’étendue d’octets en lecture seule spécifiée en jeu de caractères. (Hérité de Encoding) |
GetDecoder() |
Obtient un décodeur qui convertit une séquence d'octets encodée en ASCII en une séquence de caractères Unicode. |
GetDecoder() |
En cas de substitution dans une classe dérivée, obtient un décodeur qui convertit une séquence d'octets encodée en séquence de caractères. (Hérité de Encoding) |
GetEncoder() |
Obtient un encodeur qui convertit une séquence de caractères Unicode en une séquence d'octets encodée en ASCII. |
GetEncoder() |
En cas de substitution dans une classe dérivée, obtient un encodeur qui convertit une séquence de caractères Unicode en séquence d'octets encodée. (Hérité de Encoding) |
GetHashCode() |
Retourne le code de hachage pour l'instance actuelle. (Hérité de Encoding) |
GetMaxByteCount(Int32) |
Calcule le nombre maximal d'octets produits par l'encodage du nombre de caractères spécifié. |
GetMaxCharCount(Int32) |
Calcule le nombre maximal de caractères produits par le décodage du nombre d'octets spécifié. |
GetPreamble() |
En cas de substitution dans une classe dérivée, retourne une séquence d'octets qui spécifie l'encodage utilisé. (Hérité de Encoding) |
GetString(Byte*, Int32) |
En cas de substitution dans une classe dérivée, décode un nombre d'octets spécifié en commençant à une adresse spécifiée dans une chaîne. (Hérité de Encoding) |
GetString(Byte[]) |
Représente un encodage de caractères ASCII de caractères Unicode. |
GetString(Byte[]) |
En cas de substitution dans une classe dérivée, décode tous les octets du tableau d'octets spécifié en chaîne. (Hérité de Encoding) |
GetString(Byte[], Int32, Int32) |
Décode une plage d'octets d'un tableau d'octets en une chaîne. |
GetString(ReadOnlySpan<Byte>) |
En cas de substitution dans une classe dérivée, décode tous les octets de l’étendue d'octets spécifiée en chaîne. (Hérité de Encoding) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
IsAlwaysNormalized() |
Obtient une valeur indiquant si l'encodage actuel est toujours normalisé en utilisant le formulaire de normalisation par défaut. (Hérité de Encoding) |
IsAlwaysNormalized(NormalizationForm) |
En cas de substitution dans une classe dérivée, obtient une valeur indiquant si l'encodage actuel est toujours normalisé en utilisant le formulaire de normalisation spécifié. (Hérité de Encoding) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32) |
Encode dans une plage d’octets un ensemble de caractères de l’étendue en lecture seule spécifiée si la destination est suffisamment grande. |
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32) |
Encode dans une plage d’octets un ensemble de caractères de l’étendue en lecture seule spécifiée si la destination est suffisamment grande. (Hérité de Encoding) |
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32) |
Décode en une étendue de caractères un ensemble d’octets de l’étendue en lecture seule spécifiée si la destination est suffisamment grande. |
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32) |
Décode en une étendue de caractères un ensemble d’octets de l’étendue en lecture seule spécifiée si la destination est suffisamment grande. (Hérité de Encoding) |