Encoding Osztály

Definíció

Karakterkódolást jelöl.

public ref class Encoding abstract
public ref class Encoding abstract : ICloneable
public abstract class Encoding
public abstract class Encoding : ICloneable
[System.Serializable]
public abstract class Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class Encoding : ICloneable
type Encoding = class
type Encoding = class
    interface ICloneable
[<System.Serializable>]
type Encoding = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Encoding = class
    interface ICloneable
Public MustInherit Class Encoding
Public MustInherit Class Encoding
Implements ICloneable
Öröklődés
Encoding
Származtatott
Attribútumok
Megvalósítás

Példák

Az alábbi példa egy sztringet konvertál egyik kódolásból a másikba.

Note

Ebben byte[] a példában a tömb az egyetlen típus, amely a kódolt adatokat tartalmazza. A .NET Char és a String típus maga Unicode, így a GetChars hívás visszakódolja az adatokat Unicode-ra.

using System;
using System.Text;

class Example
{
   static void Main()
   {
      string unicodeString = "This string contains the unicode character Pi (\u03a0)";

      // Create two different encodings.
      Encoding ascii = Encoding.ASCII;
      Encoding unicode = Encoding.Unicode;

      // Convert the string into a byte array.
      byte[] unicodeBytes = unicode.GetBytes(unicodeString);

      // Perform the conversion from one encoding to the other.
      byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);
         
      // Convert the new byte[] into a char[] and then into a string.
      char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
      string asciiString = new string(asciiChars);

      // Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString);
      Console.WriteLine("Ascii converted string: {0}", asciiString);
   }
}
// The example displays the following output:
//    Original string: This string contains the unicode character Pi (Π)
//    Ascii converted string: This string contains the unicode character Pi (?)
Imports System.Text

Class Example
   Shared Sub Main()
      Dim unicodeString As String = "This string contains the unicode character Pi (" & ChrW(&H03A0) & ")"

      ' Create two different encodings.
      Dim ascii As Encoding = Encoding.ASCII
      Dim unicode As Encoding = Encoding.Unicode

      ' Convert the string into a byte array.
      Dim unicodeBytes As Byte() = unicode.GetBytes(unicodeString)

      ' Perform the conversion from one encoding to the other.
      Dim asciiBytes As Byte() = Encoding.Convert(unicode, ascii, unicodeBytes)

      ' Convert the new byte array into a char array and then into a string.
      Dim asciiChars(ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)-1) As Char
      ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0)
      Dim asciiString As New String(asciiChars)

      ' Display the strings created before and after the conversion.
      Console.WriteLine("Original string: {0}", unicodeString)
      Console.WriteLine("Ascii converted string: {0}", asciiString)
   End Sub
End Class
' The example displays the following output:
'    Original string: This string contains the unicode character Pi (Π)
'    Ascii converted string: This string contains the unicode character Pi (?)

Megjegyzések

Az API-val kapcsolatos további információkért lásd a kódolással kapcsolatos kiegészítő API-megjegyzéseket.

Konstruktorok

Name Description
Encoding()

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

Encoding(Int32, EncoderFallback, DecoderFallback)

Inicializálja az Encoding osztály új példányát, amely megfelel a megadott kódlapnak a megadott kódoló és dekóder tartalék stratégiákkal.

Encoding(Int32)

Inicializálja az Encoding osztály új példányát, amely megfelel a megadott kódlapnak.

Tulajdonságok

Name Description
ASCII

Beolvas egy kódolást az ASCII (7 bites) karakterkészlethez.

BigEndianUnicode

Az UTF-16 formátumhoz kap egy kódolást, amely a big endian bájtsorrendet használja.

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ó.

CodePage

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

DecoderFallback

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

Default

Lekéri a .NET implementáció alapértelmezett kódolását.

EncoderFallback

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

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.

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ó.

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.

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.

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.

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.

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.

IsSingleByte

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 egy bájtos kódpontokat használ-e.

Latin1

Kódolást kap a Latin1 karakterkészlethez (ISO-8859-1).

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.

Unicode

Beolvas egy kódolást az UTF-16 formátumhoz a kis endian bájtsorrend használatával.

UTF32

Beolvas egy kódolást az UTF-32 formátumhoz a kis endian bájtsorrend használatával.

UTF7
Elavult.

Lekéri az UTF-7 formátum kódolását.

UTF8

Lekéri az UTF-8 formátum kódolását.

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.

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.

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.

Convert(Encoding, Encoding, Byte[], Int32, Int32)

Bájttartományt alakít át egy bájttömbben egyik kódolásból a másikba.

Convert(Encoding, Encoding, Byte[])

Egy teljes bájttömböt konvertál egyik kódolásból a másikba.

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

Létrehoz egy Stream , az adatok Encoding belső és külső Encodingközötti átkódolására szolgáló , hasonló Convert(Encoding, Encoding, Byte[])elemet.

Equals(Object)

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

GetByteCount(Char[], Int32, Int32)

Származtatott osztályban felülbírálva 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.

GetByteCount(Char*, Int32)

Származtatott osztályban felülbírálva 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.

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.

GetByteCount(String)

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

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

Ha egy származtatott osztályban felül van bírálva, a megadott karaktertömbből a megadott bájttömbbe kódol egy karakterkészletet.

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.

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.

GetBytes(Char*, Int32, Byte*, Int32)

Ha egy származtatott osztályban felülbírál, 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.

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

Származtatott osztály felülírásakor a megadott karakterlánc karakterkészletét kódolja a megadott bájttömbbe.

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.

GetBytes(String)

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

GetCharCount(Byte[], Int32, Int32)

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

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.

GetCharCount(Byte*, Int32)

Származtatott osztályban felülbírálva kiszámítja a bájtok sorozatának a megadott bájtmutatótól kezdődő dekódolásával előállított karakterek számát.

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.

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

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

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.

GetChars(Byte[])

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

GetChars(Byte*, Int32, Char*, Int32)

Ha egy származtatott osztályban felülbírál, a megadott bájtmutatótól kezdődő bájtsorozatot a megadott karaktermutatótól kezdődően tárolt karakterek készletére 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.

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.

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.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

A megadott kódoldal-azonosítóhoz társított kódolást adja vissza. A paraméterek hibakezelőt adnak a nem kódolható karakterekhez és a nem dekódolható bájtütemezésekhez.

GetEncoding(Int32)

A megadott kódoldal-azonosítóhoz társított kódolást adja vissza.

GetEncoding(String, EncoderFallback, DecoderFallback)

A megadott kódlap nevéhez társított kódolást adja vissza. A paraméterek hibakezelőt adnak a nem kódolható karakterekhez és a nem dekódolható bájtütemezésekhez.

GetEncoding(String)

A megadott kódlap nevéhez társított kódolást adja vissza.

GetEncodings()

Az összes kódolást tartalmazó tömböt ad vissza.

GetHashCode()

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

GetMaxByteCount(Int32)

Származtatott osztályban felülbírálva kiszámítja a megadott számú karakter kódolásával előállított bájtok maximális számát.

GetMaxCharCount(Int32)

Származtatott osztályban felülbírálva 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.

GetString(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 sztringgé dekódolja.

GetString(Byte[])

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

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é.

GetString(ReadOnlySpan<Byte>)

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

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.

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.

MemberwiseClone()

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

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

Kódolási szolgáltatót regisztrál.

ToString()

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

(Öröklődés forrása Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

A megadott írásvédett tartományból származó karaktereket bájtok halmazára kódolja, ha a cél elég nagy.

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

A megadott írásvédett tartományból származó bájtok halmazát dekódolja, ha a cél elég nagy.

Bővítő metódusok

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrebyte, és az eredményt a következőre writerEncoding írja: .

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

A megadott értéket kódolja a megadott ReadOnlySequence<T> értékrebyte, és az eredményt a következőre bytesEncoding adja ki: .

GetBytes(Encoding, ReadOnlySequence<Char>)

A megadott tömbbe Byte kódolja a megadott .ReadOnlySequence<T>Encoding

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

Kódolja a megadott ReadOnlySpan<T> értéket a megadott értékrebyte, és az eredményt a következőre writerEncoding írja: .

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrechar, és az eredményt a következőre writerEncoding írja: .

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

Dekódolja a megadott ReadOnlySequence<T> értéket a megadott értékrechar, és az eredményt a következőre charsEncoding adja ki: .

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

Dekódolja a megadott ReadOnlySpan<T> értéket a megadott értékrechar, és az eredményt a következőre writerEncoding írja: .

GetString(Encoding, ReadOnlySequence<Byte>)

A megadott kód dekódolása a String megadott ReadOnlySequence<T>Encodinghasználatával.

A következőre érvényes:

Lásd még

  • Az .NET