Encoding Třída

Definice

Představuje kódování znaků.

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
Dědičnost
Encoding
Odvozené
Atributy
Implementuje

Příklady

Následující příklad převede řetězec z jednoho kódování do jiného.

Poznámka

Pole byte[] je jediným typem v tomto příkladu, který obsahuje zakódovaná data. .NET Char a String typy jsou samy Unicode, takže GetChars volání dekóduje data zpět na Unicode.

using namespace System;
using namespace System::Text;

int 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.
   array<Byte>^unicodeBytes = unicode->GetBytes( unicodeString );
   
   // Perform the conversion from one encoding to the other.
   array<Byte>^asciiBytes = Encoding::Convert( unicode, ascii, unicodeBytes );
   
   // Convert the new Byte into[] a char and[] then into a string.
   array<Char>^asciiChars = gcnew array<Char>(ascii->GetCharCount( asciiBytes, 0, asciiBytes->Length ));
   ascii->GetChars( asciiBytes, 0, asciiBytes->Length, asciiChars, 0 );
   String^ asciiString = gcnew 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 (?)
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 (?)

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky rozhraní API pro kódování.

Konstruktory

Encoding()

Inicializuje novou instanci Encoding třídy .

Encoding(Int32)

Inicializuje novou instanci Encoding třídy, která odpovídá zadané znakové stránce.

Encoding(Int32, EncoderFallback, DecoderFallback)

Inicializuje novou instanci Encoding třídy, která odpovídá zadané znakové stránce se zadaným kodérem a náhradní strategie dekodéru.

Vlastnosti

ASCII

Získá kódování pro znakovou sadu ASCII (7 bitů).

BigEndianUnicode

Získá kódování pro formát UTF-16, který používá big endian pořadí bajtů.

BodyName

Při přepsání v odvozené třídě získá název pro aktuální kódování, které lze použít se značkami textu poštovního agenta.

CodePage

Při přepsání v odvozené třídě získá identifikátor znakové stránky aktuálního Encoding.

DecoderFallback

Získá nebo nastaví DecoderFallback objekt pro aktuální Encoding objekt.

Default

Získá výchozí kódování pro tuto implementaci .NET.

EncoderFallback

Získá nebo nastaví EncoderFallback objekt pro aktuální Encoding objekt.

EncodingName

Při přepsání v odvozené třídě získá popis aktuálního kódování čitelný pro člověka.

HeaderName

Při přepsání v odvozené třídě získá název pro aktuální kódování, které lze použít se značkami hlavičky poštovního agenta.

IsBrowserDisplay

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování mohou použít klienti prohlížeče pro zobrazení obsahu.

IsBrowserSave

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování mohou použít klienti prohlížeče pro ukládání obsahu.

IsMailNewsDisplay

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování lze použít poštovní a zpravodajské klienty pro zobrazení obsahu.

IsMailNewsSave

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování lze použít poštovní a zpravodajské klienty pro ukládání obsahu.

IsReadOnly

Při přepsání v odvozené třídě získá hodnotu označující, zda je aktuální kódování jen pro čtení.

IsSingleByte

Při přepsání v odvozené třídě získá hodnotu označující, zda aktuální kódování používá jedno bajtové body kódu.

Latin1

Získá kódování pro znakovou sadu Latin1 (ISO-8859-1).

Preamble

Při přepsání v odvozené třídě vrátí span obsahující sekvenci bajtů, která určuje použité kódování.

Unicode

Získá kódování pro formát UTF-16 pomocí malého pořadí bajtů endian.

UTF32

Získá kódování pro formát UTF-32 pomocí malého pořadí bajtů endian.

UTF7
Zastaralé.

Získá kódování pro formát UTF-7.

UTF8

Získá kódování pro formát UTF-8.

WebName

Při přepsání v odvozené třídě získá název zaregistrovaný u IANA (Internet Assigned Numbers Authority) pro aktuální kódování.

WindowsCodePage

Při přepsání v odvozené třídě získá znakovou stránku operačního systému Windows, která nejvíce odpovídá aktuálnímu kódování.

Metody

Clone()

Při přepsání v odvozené třídě vytvoří mělkou kopii aktuálního Encoding objektu.

Convert(Encoding, Encoding, Byte[])

Převede celé pole bajtů z jednoho kódování do jiného.

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

Převede rozsah bajtů v bajtovém poli z jednoho kódování do jiného.

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

Vytvoří objekt Stream , který slouží k překódování dat mezi vnitřní Encoding a vnější Encoding, podobně jako Convert(Encoding, Encoding, Byte[]).

Equals(Object)

Určuje, zda se zadaná Object hodnota rovná aktuální instanci.

GetByteCount(Char*, Int32)

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním sady znaků počínaje zadaným znakovým ukazatelem.

GetByteCount(Char[])

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním všech znaků v zadaném poli znaků.

GetByteCount(Char[], Int32, Int32)

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním sady znaků ze zadaného pole znaků.

GetByteCount(ReadOnlySpan<Char>)

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním znaků v zadaném rozsahu znaků.

GetByteCount(String)

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním znaků v zadaném řetězci.

GetByteCount(String, Int32, Int32)

Při přepsání v odvozené třídě vypočítá počet bajtů produkovaných kódováním sady znaků ze zadaného řetězce.

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

Při přepsání v odvozené třídě zakóduje sadu znaků začínající na zadaném znakovém ukazateli do posloupnosti bajtů, které jsou uloženy počínaje zadaným ukazatelem bajtů.

GetBytes(Char[])

Při přepsání v odvozené třídě zakóduje všechny znaky v zadaném poli znaků do posloupnosti bajtů.

GetBytes(Char[], Int32, Int32)

Při přepsání v odvozené třídě zakóduje sadu znaků ze zadaného pole znaků do posloupnosti bajtů.

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

Při přepsání v odvozené třídě zakóduje sadu znaků ze zadaného pole znaků do zadaného pole bajtů.

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

Při přepsání v odvozené třídě zakóduje do rozsahu bajtů sadu znaků ze zadaného rozsahu jen pro čtení.

GetBytes(String)

Při přepsání v odvozené třídě zakóduje všechny znaky v zadaném řetězci do posloupnosti bajtů.

GetBytes(String, Int32, Int32)

Při přepsání v odvozené třídě kóduje do pole bajtů počet znaků zadaný v zadaném řetězci, počínaje zadaným indexřetězcem count .

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

Při přepsání v odvozené třídě zakóduje sadu znaků ze zadaného řetězce do zadaného pole bajtů.

GetCharCount(Byte*, Int32)

Při přepsání v odvozené třídě vypočítá počet znaků produkovaných dekódováním posloupnosti bajtů počínaje zadaným ukazatelem bajtů.

GetCharCount(Byte[])

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním všech bajtů v zadaném bajtovém poli.

GetCharCount(Byte[], Int32, Int32)

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného pole bajtů.

GetCharCount(ReadOnlySpan<Byte>)

Při přepsání v odvozené třídě vypočítá počet znaků vytvořených dekódováním zadaného rozsahu bajtů jen pro čtení.

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

Při přepsání v odvozené třídě dekóduje sekvenci bajtů začínající od zadaného ukazatele bajtů do sady znaků, které jsou uloženy počínaje zadaným znakovým ukazatelem.

GetChars(Byte[])

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném poli bajtů do sady znaků.

GetChars(Byte[], Int32, Int32)

Při přepsání v odvozené třídě dekóduje sekvenci bajtů ze zadaného pole bajtů do sady znaků.

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

Při přepsání v odvozené třídě dekóduje sekvenci bajtů ze zadaného pole bajtů do zadaného pole znaků.

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

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném rozsahu bajtů jen pro čtení do rozsahu znaků.

GetDecoder()

Při přepsání v odvozené třídě získá dekodér, který převede zakódovanou sekvenci bajtů na sekvenci znaků.

GetEncoder()

Při přepsání v odvozené třídě získá kodér, který převede sekvenci znaků Unicode na zakódovanou sekvenci bajtů.

GetEncoding(Int32)

Vrátí kódování přidružené k zadanému identifikátoru znakové stránky.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Vrátí kódování přidružené k zadanému identifikátoru znakové stránky. Parametry určují obslužnou rutinu chyby pro znaky, které nelze zakódovat, a sekvence bajtů, které nelze dekódovat.

GetEncoding(String)

Vrátí kódování přidružené k zadanému názvu znakové stránky.

GetEncoding(String, EncoderFallback, DecoderFallback)

Vrátí kódování přidružené k zadanému názvu znakové stránky. Parametry určují obslužnou rutinu chyby pro znaky, které nelze zakódovat, a sekvence bajtů, které nelze dekódovat.

GetEncodings()

Vrátí matici, která obsahuje všechna kódování.

GetHashCode()

Vrátí kód hash pro aktuální instanci.

GetMaxByteCount(Int32)

Při přepsání v odvozené třídě vypočítá maximální počet bajtů produkovaných kódováním zadaného počtu znaků.

GetMaxCharCount(Int32)

Při přepsání v odvozené třídě vypočítá maximální počet znaků produkovaných dekódováním zadaného počtu bajtů.

GetPreamble()

Při přepsání v odvozené třídě vrátí sekvenci bajtů, která určuje použité kódování.

GetString(Byte*, Int32)

Při přepsání v odvozené třídě dekóduje zadaný počet bajtů začínající na zadané adrese do řetězce.

GetString(Byte[])

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném poli bajtů do řetězce.

GetString(Byte[], Int32, Int32)

Při přepsání v odvozené třídě dekóduje posloupnost bajtů ze zadaného pole bajtů do řetězce.

GetString(ReadOnlySpan<Byte>)

Při přepsání v odvozené třídě dekóduje všechny bajty v zadaném rozsahu bajtů do řetězce.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IsAlwaysNormalized()

Získá hodnotu označující, zda je aktuální kódování vždy normalizován pomocí výchozího formuláře normalizace.

IsAlwaysNormalized(NormalizationForm)

Při přepsání v odvozené třídě získá hodnotu označující, zda je aktuální kódování vždy normalizován pomocí zadané normalizační formy.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RegisterProvider(EncodingProvider)

Zaregistruje zprostředkovatele kódování.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Kóduje do rozsahu bajtů sadu znaků ze zadaného rozsahu jen pro čtení, pokud je cíl dostatečně velký.

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

Dekóduje do rozsahu znaků sadu bajtů ze zadaného rozsahu jen pro čtení, pokud je cíl dostatečně velký.

Metody rozšíření

GetBytes(Encoding, ReadOnlySequence<Char>)

Zakóduje zadaný ReadOnlySequence<T>Byte do pole pomocí zadaného Encoding.

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

Dekóduje zadaný ReadOnlySequence<T> parametr na bytes pomocí zadaného Encoding a zapíše výsledek do writer.

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

Zakóduje zadané ReadOnlySequence<T> do s bytepomocí zadané Encoding hodnoty a výsledek vypíše do bytes.

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

Zakóduje zadané ReadOnlySpan<T> do s bytepomocí zadaného Encoding a zapíše výsledek do writer.

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

Dekóduje zadaný ReadOnlySequence<T> parametr na chars pomocí zadaného Encoding a zapíše výsledek do writer.

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

Dekóduje zadaný ReadOnlySequence<T> parametr na chars pomocí zadané Encoding hodnoty a výsledek se vypíše do chars.

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

Dekóduje zadaný ReadOnlySpan<T> parametr na chars pomocí zadaného Encoding a zapíše výsledek do writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Dekóduje zadaný ReadOnlySequence<T> parametr na pomocí String zadaného Encoding.

Platí pro

Viz také