Partager via


ASCIIEncoding Classe

Définition

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
ASCIIEncoding
Attributs

Exemples

L’exemple suivant montre comment encoder des caractères Unicode en ASCII. Notez la perte de données qui se produisent lorsque votre application utilise ASCIIEncoding pour encoder des caractères Unicode en dehors de la plage ASCII.

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 ensemble 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 codes Windows 20127. Comme 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 propriété ou le Encoding.ASCIIASCIIEncoding constructeur, les caractères 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 UTF8EncodingUnicodeEncodingUTF32Encoding classes et les classes 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 sont représentés dans UTF-8, ce qui évite la perte de données.

Avertissement

ASCIIEncoding ne fournit pas de détection d’erreur. Pour des raisons de sécurité, vous devez utiliser UTF8Encoding, UnicodeEncodingou UTF32Encoding activer la détection des erreurs.

La GetByteCount méthode détermine le nombre d’octets résultant de l’encodage d’un jeu de caractères Unicode, et la GetBytes méthode effectue l’encodage réel.

De même, la GetCharCount méthode détermine le nombre de caractères qui entraînent le décodage d’une séquence d’octets et les GetCharsGetString méthodes effectuent le décodage réel.

Notez que le constructeur par défaut ASCIIEncoding peut ne pas avoir le comportement approprié pour votre application. Vous pouvez envisager de définir ou de définir la EncoderFallbackDecoderFallback propriété EncoderExceptionFallback sur ou DecoderExceptionFallback d’empêcher les séquences avec le jeu de 8e bits. Le comportement personnalisé peut également être approprié pour ces cas.

Constructeurs

Nom Description
ASCIIEncoding()

Initialise une nouvelle instance de la classe ASCIIEncoding.

Propriétés

Nom Description
BodyName

En cas de substitution dans une classe dérivée, obtient un nom pour l’encodage actuel qui peut être utilisé avec des balises de corps 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 fichier actif Encoding.

(Hérité de Encoding)
DecoderFallback

Obtient ou définit l’objet DecoderFallback de l’objet actif Encoding .

(Hérité de Encoding)
EncoderFallback

Obtient ou définit l’objet EncoderFallback de l’objet actif Encoding .

(Hérité de Encoding)
EncodingName

En cas de substitution dans une classe dérivée, obtient la description lisible par l’homme 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 balises 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 navigateur pour afficher du 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 navigateur 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 d’actualités 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 d’actualités 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 indiquant si l’encodage actuel utilise des points de code à octet unique.

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 qui correspond le plus étroitement à l’encodage actuel.

(Hérité de Encoding)

Méthodes

Nom Description
Clone()

En cas de substitution dans une classe dérivée, crée une copie superficielle de l’objet actuel Encoding .

(Hérité de Encoding)
Equals(Object)

Détermine si le spécifié Object est égal à l’instance actuelle.

(Hérité de Encoding)
GetByteCount(Char[], Int32, Int32)

Calcule le nombre d’octets générés par l’encodage d’un jeu de caractères à partir du tableau de caractères spécifié.

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)

Calcule le nombre d’octets générés par l’encodage d’un jeu de caractères commençant par le pointeur de caractère 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 des caractères dans l’étendue de caractères spécifiée.

(Hérité de Encoding)
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 à partir de la chaîne spécifiée.

(Hérité de Encoding)
GetByteCount(String)

Calcule le nombre d’octets générés par l’encodage des caractères dans le fichier spécifié String.

GetBytes(Char[], Int32, Int32, Byte[], Int32)

Encode un jeu de caractères du tableau de caractères spécifié dans le tableau d’octets spécifié.

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é dans une séquence d’octets.

(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é dans une séquence d’octets.

(Hérité de Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Encode un jeu de caractères commençant par le pointeur de caractères spécifié dans une séquence d’octets stockés à partir du pointeur d’octet spécifié.

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 dans une étendue d’octets un jeu de caractères de l’étendue en lecture seule spécifiée.

(Hérité de Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Encode un jeu de caractères du tableau d’octets String spécifié.

GetBytes(String, Int32, Int32)

En cas de substitution dans une classe dérivée, encode dans un tableau d’octets le nombre de caractères spécifié par count la chaîne spécifiée, à partir de la valeur spécifiée index.

(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 dans une séquence d’octets.

(Hérité de Encoding)
GetCharCount(Byte[], Int32, Int32)

Calcule le nombre de caractères générés par le décodage d’une séquence d’octets à partir du tableau d’octets spécifié.

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)

Calcule le nombre de caractères générés par le décodage d’une séquence d’octets commençant au pointeur d’octet spécifié.

GetCharCount(ReadOnlySpan<Byte>)

Calcule le nombre de caractères générés 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, 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, 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 ensemble de caractères.

(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 un ensemble de caractères.

(Hérité de Encoding)
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(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 dans une étendue de caractères.

(Hérité de Encoding)
GetDecoder()

Obtient un décodeur qui convertit une séquence d’octets encodée 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 codée d’octets en une séquence de caractères.

(Hérité de Encoding)
GetEncoder()

Obtient un encodeur qui convertit une séquence de caractères Unicode en séquence encodée ASCII d’octets.

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 codée d’octets.

(Hérité de Encoding)
GetHashCode()

Retourne le code de hachage de l’instance actuelle.

(Hérité de Encoding)
GetMaxByteCount(Int32)

Calcule le nombre maximal d’octets produits par encodage du nombre spécifié de caractères.

GetMaxCharCount(Int32)

Calcule le nombre maximal de caractères produits par décodage du nombre spécifié d’octets.

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, Int32)

Décode une plage d’octets d’un tableau d’octets dans une chaîne.

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é dans une chaîne.

(Hérité de Encoding)
GetString(Byte*, Int32)

En cas de substitution dans une classe dérivée, décode un nombre spécifié d’octets à partir d’une adresse spécifiée dans une chaîne.

(Hérité de Encoding)
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 dans une chaîne.

(Hérité de Encoding)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsAlwaysNormalized()

Obtient une valeur indiquant si l’encodage actuel est toujours normalisé, à l’aide du 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é, à l’aide du formulaire de normalisation spécifié.

(Hérité de Encoding)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(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 étendue d’octets un jeu de caractères de l’étendue en lecture seule spécifiée si la destination est suffisamment grande.

TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Décode dans une étendue de caractères un ensemble d’octets de l’étendue en lecture seule spécifiée si la destination est suffisamment grande.

Méthodes d’extension

Nom Description
GetBytes(Encoding, ReadOnlySequence<Char>, IBufferWriter<Byte>)

Décode la valeur spécifiée ReadOnlySequence<T> à bytel’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetBytes(Encoding, ReadOnlySequence<Char>, Span<Byte>)

Encode le paramètre spécifié ReadOnlySequence<T> à bytel’aide du résultat spécifié Encoding et génère le résultat vers bytes.

GetBytes(Encoding, ReadOnlySequence<Char>)

Encode le spécifié ReadOnlySequence<T> dans un Byte tableau à l’aide de l’élément spécifié Encoding.

GetBytes(Encoding, ReadOnlySpan<Char>, IBufferWriter<Byte>)

Encode le contenu spécifié ReadOnlySpan<T> à l’aide du résultat spécifié Encoding et écrit le résultat dans writerbyte.

GetChars(Encoding, ReadOnlySequence<Byte>, IBufferWriter<Char>)

Décode la valeur spécifiée ReadOnlySequence<T> à charl’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetChars(Encoding, ReadOnlySequence<Byte>, Span<Char>)

Décode les valeurs spécifiées ReadOnlySequence<T> à charl’aide des résultats spécifiés Encoding et génère le résultat vers chars.

GetChars(Encoding, ReadOnlySpan<Byte>, IBufferWriter<Char>)

Décode la valeur spécifiée ReadOnlySpan<T> à charl’aide du résultat spécifié Encoding et écrit le résultat dans writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Décode le spécifié ReadOnlySequence<T> en String utilisant le fichier spécifié Encoding.

S’applique à

Voir aussi