ASCIIEncoding Osztály

Definíció

Unicode-karakterek ASCII-karakterkódolását jelöli.

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
Öröklődés
ASCIIEncoding
Attribútumok

Példák

Az alábbi példa bemutatja, hogyan kódolhat Unicode-karaktereket ASCII-be. Figyelje meg az adatvesztést, amely akkor fordul elő, amikor az alkalmazás Unicode-karaktereket kódol ASCIIEncoding az ASCII-tartományon kívül.

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 (?).

Megjegyzések

A kódolás a Unicode-karakterek halmazának bájtok sorozatává alakításának folyamata. A dekódolás a kódolt bájtok sorozatának Unicode-karakterekből álló készletté alakításának folyamata.

ASCIIEncoding a 20127-Windows kódlapnak felel meg. Mivel az ASCII egy 7 bites kódolás, az ASCII-karakterek a legalacsonyabb 128 Unicode karakterre korlátozódnak, U+0000 és U+007F között. Ha a tulajdonság vagy a Encoding.ASCII konstruktor által visszaadott alapértelmezett kódolót használja, a ASCIIEncoding tartományon kívüli karaktereket kérdőjel (?) váltja fel a kódolási művelet végrehajtása előtt. Mivel az ASCIIEncoding osztály csak korlátozott karakterkészletet támogat, a UTF8Encoding, UnicodeEncodingés UTF32Encoding az osztályok jobban megfelelnek a globalizált alkalmazásoknak. A következő szempontok segíthetnek eldönteni, hogy használja-e a következőt ASCIIEncoding:

  • Egyes protokollokhoz ASCII vagy ASCII-részhalmaz szükséges. Ezekben az esetekben az ASCII kódolás megfelelő.

  • Ha 8 bites kódolásra van szükség, akkor az ASCII valószínűleg nem a megfelelő választás. Ehelyett fontolja meg az UTF8 használatát ASCII helyett. Az U+0000 és U+007F karakterek esetében az eredmények azonosak, de az összes Unicode-karakter az UTF-8-ban ábrázolható, így elkerülhető az adatvesztés.

Figyelmeztetés

ASCIIEncoding nem biztosít hibaészlelést. Biztonsági okokból érdemes használni UTF8Encoding, UnicodeEncodingvagy UTF32Encoding engedélyezni a hibaészlelést.

A GetByteCount metódus meghatározza, hogy hány bájtot eredményez egy Unicode-karakterkészlet kódolása, és a GetBytes metódus végrehajtja a tényleges kódolást.

Hasonlóképpen, a GetCharCount metódus meghatározza, hogy hány karakter okozza a bájtok sorozatának dekódolását, és a GetCharsGetString metódusok elvégzik a tényleges dekódolást.

Vegye figyelembe, hogy előfordulhat, hogy az alapértelmezett ASCIIEncoding konstruktor önmagában nem felel meg az alkalmazás megfelelő viselkedésének. Érdemes lehet a sorozatok 8. bitkészlettel való beállítását EncoderFallback vagy DecoderFallbackEncoderExceptionFallbackDecoderExceptionFallback megelőzését is megfontolni. Ezekben az esetekben az egyéni viselkedés is megfelelő lehet.

Konstruktorok

Name Description
ASCIIEncoding()

Inicializálja a ASCIIEncoding osztály új példányát.

Tulajdonságok

Name Description
BodyName

Ha felül van bírálva egy származtatott osztályban, megkapja az aktuális kódolás nevét, amely a levelezési ügynök törzscímkéivel használható.

(Öröklődés forrása Encoding)
CodePage

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális Encodingkódlap azonosítóját.

(Öröklődés forrása Encoding)
DecoderFallback

Lekéri vagy beállítja az DecoderFallback aktuális Encoding objektum objektumát.

(Öröklődés forrása Encoding)
EncoderFallback

Lekéri vagy beállítja az EncoderFallback aktuális Encoding objektum objektumát.

(Öröklődés forrása Encoding)
EncodingName

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális kódolás ember által olvasható leírását.

(Öröklődés forrása Encoding)
HeaderName

Ha felül van bírálva egy származtatott osztályban, lekéri az aktuális kódolás nevét, amely a levelezési ügynök fejléccímkéivel használható.

(Öröklődés forrása Encoding)
IsBrowserDisplay

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy a böngészőügyfelek használhatják-e az aktuális kódolást a tartalom megjelenítéséhez.

(Öröklődés forrása Encoding)
IsBrowserSave

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy a böngészőügyfelek használhatják-e az aktuális kódolást a tartalom mentéséhez.

(Öröklődés forrása Encoding)
IsMailNewsDisplay

Ha egy származtatott osztályban felül van bírálva, a rendszer egy értéket kap, amely jelzi, hogy az aktuális kódolás használható-e a levelezési és híralkalmazások számára a tartalom megjelenítéséhez.

(Öröklődés forrása Encoding)
IsMailNewsSave

Ha felül van bírálva egy származtatott osztályban, egy értéket kap, amely jelzi, hogy az aktuális kódolás használható-e a levelezési és híralkalmazások számára a tartalom mentéséhez.

(Öröklődés forrása Encoding)
IsReadOnly

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy az aktuális kódolás írásvédett-e.

(Öröklődés forrása Encoding)
IsSingleByte

Beolvas egy értéket, amely jelzi, hogy az aktuális kódolás egy bájtos kódpontokat használ-e.

Preamble

Ha egy származtatott osztályban felülbírált, a használt kódolást meghatározó bájtok sorozatát tartalmazó spant ad vissza.

(Öröklődés forrása Encoding)
WebName

Ha felül van bírálva egy származtatott osztályban, az aktuális kódoláshoz az Internet Assigned Numbers Authority (IANA) regisztrálja a nevet.

(Öröklődés forrása Encoding)
WindowsCodePage

Ha felül van bírálva egy származtatott osztályban, lekéri a Windows operációs rendszer kódlapját, amely a leginkább megfelel az aktuális kódolásnak.

(Öröklődés forrása Encoding)

Metódusok

Name Description
Clone()

Ha felül van bírálva egy származtatott osztályban, létrehozza az aktuális Encoding objektum sekély másolatát.

(Öröklődés forrása Encoding)
Equals(Object)

Meghatározza, hogy a megadott Object érték megegyezik-e az aktuális példánnyal.

(Öröklődés forrása Encoding)
GetByteCount(Char[], Int32, Int32)

Kiszámítja a megadott karaktertömbből származó karakterkészlet kódolásával előállított bájtok számát.

GetByteCount(Char[])

Származtatott osztályban felülbírálva kiszámítja a megadott karaktertömb összes karakterének kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(Char*, Int32)

Kiszámítja a megadott karaktermutatótól kezdődő karakterkészlet kódolásával előállított bájtok számát.

GetByteCount(ReadOnlySpan<Char>)

Származtatott osztályban felülbírálva kiszámítja a megadott karaktertartományban lévő karakterek kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(String, Int32, Int32)

Származtatott osztályban felülbírálva kiszámítja a megadott sztring egy karakterkészletének kódolásával előállított bájtok számát.

(Öröklődés forrása Encoding)
GetByteCount(String)

Kiszámítja a megadott Stringkarakterek kódolásával előállított bájtok számát.

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

Egy karakterkészletet kódol a megadott karaktertömbből a megadott bájttömbbe.

GetBytes(Char[], Int32, Int32)

Ha egy származtatott osztályban felülbírált, a megadott karaktertömb karakterkészletét bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetBytes(Char[])

Ha felülbírált egy származtatott osztályban, a megadott karaktertömb összes karakterét bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

A megadott karaktermutatótól kezdődő karakterkészletet bájtok sorozatába kódolja, amelyek a megadott bájtmutatótól kezdve vannak tárolva.

GetBytes(ReadOnlySpan<Char>, Span<Byte>)

Ha egy származtatott osztályban felülbírált, bájtok közötti tartományba kódolja a megadott írásvédett tartomány karakterkészletét.

(Öröklődés forrása Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

A megadott String bájttömbbe kódol egy karakterkészletet.

GetBytes(String, Int32, Int32)

Ha egy származtatott osztályban felülbírált, bájtokból álló tömbbe kódolja a megadott sztringben megadott count karakterek számát a megadott indexkarakterláncból kiindulva.

(Öröklődés forrása Encoding)
GetBytes(String)

Ha felülbírált egy származtatott osztályban, a megadott sztringben szereplő összes karaktert bájtok sorozatába kódolja.

(Öröklődés forrása Encoding)
GetCharCount(Byte[], Int32, Int32)

A megadott bájttömbből származó bájtsorozat dekódolásával előállított karakterek számát számítja ki.

GetCharCount(Byte[])

Származtatott osztályban felülbírálva kiszámítja a megadott bájttömb összes bájtjának dekódolásával előállított karakterek számát.

(Öröklődés forrása Encoding)
GetCharCount(Byte*, Int32)

A megadott bájtmutatótól kezdődő bájtsor dekódolásával előállított karakterek számát számítja ki.

GetCharCount(ReadOnlySpan<Byte>)

Ha egy származtatott osztályban felül van bírálva, kiszámítja a megadott írásvédett bájttartomány dekódolásával előállított karakterek számát.

(Öröklődés forrása Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Bájtok sorozatát dekódolja a megadott bájttömbből a megadott karaktertömbbe.

GetChars(Byte[], Int32, Int32)

Ha egy származtatott osztályban felülbírál, a megadott bájttömbből származó bájtok sorozatát karakterkészletté dekódolja.

(Öröklődés forrása Encoding)
GetChars(Byte[])

Származtatott osztályban felülbírálva a megadott bájttömb összes bájtját karakterkészletté alakítja.

(Öröklődés forrása Encoding)
GetChars(Byte*, Int32, Char*, Int32)

A megadott bájtmutatótól kezdve a bájtok sorozatát a megadott karaktermutatótól kezdődően tárolt karakterkészletté dekódolja.

GetChars(ReadOnlySpan<Byte>, Span<Char>)

Ha egy származtatott osztályban felülbírál, a megadott írásvédett bájttartományban lévő összes bájtot karakterskávé alakítja.

(Öröklődés forrása Encoding)
GetDecoder()

Lekér egy dekódolót, amely bájtok ASCII-kódolású sorozatát Unicode-karakterek sorozatává alakítja.

GetDecoder()

Ha felülbírált egy származtatott osztályban, lekér egy dekódolót, amely bájtok kódolt sorozatát karaktersorozattá alakítja.

(Öröklődés forrása Encoding)
GetEncoder()

Beolvas egy kódolót, amely Unicode-karakterek sorozatát ASCII kódolású bájtok sorozatává alakítja.

GetEncoder()

Származtatott osztályban felülbírált kódolót kap, amely Unicode-karakterek sorozatát bájtok kódolt sorozatává alakítja.

(Öröklődés forrása Encoding)
GetHashCode()

Az aktuális példány kivonatkódját adja vissza.

(Öröklődés forrása Encoding)
GetMaxByteCount(Int32)

Kiszámítja a megadott számú karakter kódolásával előállított bájtok maximális számát.

GetMaxCharCount(Int32)

Kiszámítja a megadott bájtszám dekódolásával előállított karakterek maximális számát.

GetPreamble()

Ha felülbírált egy származtatott osztályban, a használt kódolást meghatározó bájtok sorozatát adja vissza.

(Öröklődés forrása Encoding)
GetString(Byte[], Int32, Int32)

Bájttartományt kódol egy bájttömbből egy sztringbe.

GetString(Byte[])

Unicode-karakterek ASCII-karakterkódolását jelöli.

GetString(Byte[])

Származtatott osztályban felülbírálva a megadott bájttömb összes bájtját sztringgé alakítja.

(Öröklődés forrása Encoding)
GetString(Byte*, Int32)

Ha egy származtatott osztályban felülbírál, egy megadott címtől kezdődően megadott számú bájtot kódol sztringgé.

(Öröklődés forrása Encoding)
GetString(ReadOnlySpan<Byte>)

Származtatott osztályban felülbírálva a megadott bájttartomány összes bájtját sztringgé alakítja.

(Öröklődés forrása Encoding)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsAlwaysNormalized()

Beolvas egy értéket, amely jelzi, hogy az aktuális kódolás mindig normalizálva van-e az alapértelmezett normalizálási űrlap használatával.

(Öröklődés forrása Encoding)
IsAlwaysNormalized(NormalizationForm)

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy az aktuális kódolás mindig normalizálva van-e a megadott normalizálási űrlap használatával.

(Öröklődés forrása Encoding)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még