Udostępnij za pośrednictwem


Encoding Klasa

Definicja

Reprezentuje kodowanie znaków.

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
Dziedziczenie
Encoding
Pochodne
Atrybuty
Implementuje

Przykłady

Poniższy przykład konwertuje ciąg z jednego kodowania na inny.

Uwaga

Tablica byte[] jest jedynym typem w tym przykładzie, który zawiera zakodowane dane. Platforma .NET Char i String typy są same w formacie Unicode, więc GetChars wywołanie dekoduje dane z powrotem do formatu 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 (?)

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi interfejsu API dotyczące kodowania.

Konstruktory

Encoding()

Inicjuje nowe wystąpienie klasy Encoding.

Encoding(Int32)

Inicjuje Encoding nowe wystąpienie klasy odpowiadające określonej stronie kodu.

Encoding(Int32, EncoderFallback, DecoderFallback)

Inicjuje Encoding nowe wystąpienie klasy odpowiadające określonej stronie kodu z określonym koderem i strategiami rezerwowymi dekodera.

Właściwości

ASCII

Pobiera kodowanie zestawu znaków ASCII (7-bitowych).

BigEndianUnicode

Pobiera kodowanie dla formatu UTF-16, który używa kolejności bajtów big endian.

BodyName

Po zastąpieniu w klasie pochodnej pobiera nazwę bieżącego kodowania, które może być używane z tagami treści agenta poczty.

CodePage

Po przesłonięciu w klasie pochodnej pobiera identyfikator strony kodowej bieżącego Encodingelementu .

DecoderFallback

Pobiera lub ustawia DecoderFallback obiekt dla bieżącego Encoding obiektu.

Default

Pobiera domyślne kodowanie dla tej implementacji platformy .NET.

EncoderFallback

Pobiera lub ustawia EncoderFallback obiekt dla bieżącego Encoding obiektu.

EncodingName

Po zastąpieniu w klasie pochodnej pobiera czytelny dla człowieka opis bieżącego kodowania.

HeaderName

Po zastąpieniu w klasie pochodnej pobiera nazwę bieżącego kodowania, które może być używane z tagami nagłówka agenta poczty.

IsBrowserDisplay

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów przeglądarki do wyświetlania zawartości.

IsBrowserSave

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów przeglądarki do zapisywania zawartości.

IsMailNewsDisplay

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów poczty i wiadomości do wyświetlania zawartości.

IsMailNewsSave

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie może być używane przez klientów poczty i wiadomości do zapisywania zawartości.

IsReadOnly

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie jest tylko do odczytu.

IsSingleByte

Po przesłonięciu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie używa pojedynczych bajtów punktów kodu.

Latin1

Pobiera kodowanie dla zestawu znaków Latin1 (ISO-8859-1).

Preamble

W przypadku przesłonięcia w klasie pochodnej zwraca zakres zawierający sekwencję bajtów, która określa użyte kodowanie.

Unicode

Pobiera kodowanie dla formatu UTF-16 przy użyciu małej kolejności bajtów endian.

UTF32

Pobiera kodowanie dla formatu UTF-32 przy użyciu małej kolejności bajtów endian.

UTF7
Przestarzałe.

Pobiera kodowanie dla formatu UTF-7.

UTF8

Pobiera kodowanie dla formatu UTF-8.

WebName

Po przesłonięciu w klasie pochodnej pobiera nazwę zarejestrowaną za pomocą urzędu IANA (Internet Assigned Numbers Authority) dla bieżącego kodowania.

WindowsCodePage

Po zastąpieniu klasy pochodnej pobiera stronę kodową systemu operacyjnego Windows, która najbardziej odpowiada bieżącemu kodowaniu.

Metody

Clone()

Po zastąpieniu w klasie pochodnej tworzy płytkią kopię bieżącego Encoding obiektu.

Convert(Encoding, Encoding, Byte[])

Konwertuje całą tablicę bajtów z jednego kodowania na inną.

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

Konwertuje zakres bajtów w tablicy bajtów z jednego kodowania na inny.

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

Tworzy obiekt Stream służący do transkodowania danych między elementem wewnętrznym Encoding i zewnętrznym Encoding, podobnym do Convert(Encoding, Encoding, Byte[]).

Equals(Object)

Określa, czy określona wartość Object jest równa bieżącemu wystąpieniu.

GetByteCount(Char*, Int32)

Po zastąpieniu w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

GetByteCount(Char[])

W przypadku przesłonięcia w klasie pochodnej oblicza liczbę bajtów wygenerowanych przez kodowanie wszystkich znaków w określonej tablicy znaków.

GetByteCount(Char[], Int32, Int32)

Po zastąpieniu w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

GetByteCount(ReadOnlySpan<Char>)

W przypadku przesłonięcia w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym zakresie znaków.

GetByteCount(String)

Po zastąpieniu w klasie pochodnej oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym ciągu.

GetByteCount(String, Int32, Int32)

Po przesłonięciu w klasie pochodnej oblicza liczbę bajtów wygenerowanych przez kodowanie zestawu znaków z określonego ciągu.

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

W przypadku zastąpienia w klasie pochodnej koduje zestaw znaków rozpoczynający się od określonego wskaźnika znaków do sekwencji bajtów przechowywanych od określonego wskaźnika bajtów.

GetBytes(Char[])

Po przesłonięciu w klasie pochodnej wszystkie znaki w określonej tablicy znaków są kodowane w sekwencji bajtów.

GetBytes(Char[], Int32, Int32)

Po zastąpieniu w klasie pochodnej koduje zestaw znaków z określonej tablicy znaków do sekwencji bajtów.

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

Po zastąpieniu klasy pochodnej koduje zestaw znaków z określonej tablicy znaków do określonej tablicy bajtów.

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

Po przesłonięciu w klasie pochodnej koduje się do zakresu bajtów zestawu znaków z określonego zakresu tylko do odczytu.

GetBytes(String)

Po przesłonięciu w klasie pochodnej wszystkie znaki w określonym ciągu są kodowane w sekwencji bajtów.

GetBytes(String, Int32, Int32)

Po przesłonięciu w klasie pochodnej koduje do tablicy bajtów liczbę znaków określonych count w określonym ciągu, począwszy od określonej indexwartości .

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

Po zastąpieniu w klasie pochodnej koduje zestaw znaków z określonego ciągu do określonej tablicy bajtów.

GetCharCount(Byte*, Int32)

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów rozpoczynających się od określonego wskaźnika bajtów.

GetCharCount(Byte[])

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie wszystkich bajtów w określonej tablicy bajtów.

GetCharCount(Byte[], Int32, Int32)

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie sekwencji bajtów z określonej tablicy bajtów.

GetCharCount(ReadOnlySpan<Byte>)

W przypadku zastąpienia w klasie pochodnej oblicza liczbę znaków generowanych przez dekodowanie podanego zakresu bajtów tylko do odczytu.

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

W przypadku zastąpienia w klasie pochodnej dekoduje sekwencję bajtów rozpoczynającą się od określonego wskaźnika bajtów do zestawu znaków przechowywanych w określonym wskaźniku znaków.

GetChars(Byte[])

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonej tablicy bajtów są dekodowane w zestawie znaków.

GetChars(Byte[], Int32, Int32)

Po zastąpieniu w klasie pochodnej dekoduje sekwencję bajtów z określonej tablicy bajtów do zestawu znaków.

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

Po zastąpieniu w klasie pochodnej dekoduje sekwencję bajtów z określonej tablicy bajtów do określonej tablicy znaków.

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

W przypadku zastąpienia w klasie pochodnej dekoduje wszystkie bajty w określonym zakresie bajtów tylko do odczytu w zakresie znaków.

GetDecoder()

Po zastąpieniu klasy pochodnej uzyskuje dekoder, który konwertuje zakodowaną sekwencję bajtów na sekwencję znaków.

GetEncoder()

Po zastąpieniu w klasie pochodnej uzyskuje koder, który konwertuje sekwencję znaków Unicode na zakodowaną sekwencję bajtów.

GetEncoding(Int32)

Zwraca kodowanie skojarzone z określonym identyfikatorem strony kodu.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Zwraca kodowanie skojarzone z określonym identyfikatorem strony kodu. Parametry określają procedurę obsługi błędów dla znaków, których nie można kodować i sekwencje bajtów, których nie można zdekodować.

GetEncoding(String)

Zwraca kodowanie skojarzone z określoną nazwą strony kodowej.

GetEncoding(String, EncoderFallback, DecoderFallback)

Zwraca kodowanie skojarzone z określoną nazwą strony kodowej. Parametry określają procedurę obsługi błędów dla znaków, których nie można kodować i sekwencje bajtów, których nie można zdekodować.

GetEncodings()

Zwraca tablicę zawierającą wszystkie kodowanie.

GetHashCode()

Zwraca kod skrótu dla bieżącego wystąpienia.

GetMaxByteCount(Int32)

Podczas zastępowania w klasie pochodnej oblicza maksymalną liczbę bajtów wygenerowanych przez kodowanie określonej liczby znaków.

GetMaxCharCount(Int32)

W przypadku zastąpienia w klasie pochodnej oblicza maksymalną liczbę znaków generowanych przez dekodowanie określonej liczby bajtów.

GetPreamble()

Po przesłonięciu w klasie pochodnej zwraca sekwencję bajtów, która określa użyte kodowanie.

GetString(Byte*, Int32)

W przypadku zastąpienia w klasie pochodnej dekoduje określoną liczbę bajtów rozpoczynających się od określonego adresu do ciągu.

GetString(Byte[])

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonej tablicy bajtów są dekodowane w ciągu.

GetString(Byte[], Int32, Int32)

Gdy zastąpisz klasę pochodną, dekoduje sekwencję bajtów z określonej tablicy bajtów do ciągu.

GetString(ReadOnlySpan<Byte>)

Po przesłonięciu w klasie pochodnej wszystkie bajty w określonym zakresie bajtów są dekodowane w ciągu.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
IsAlwaysNormalized()

Pobiera wartość wskazującą, czy bieżące kodowanie jest zawsze znormalizowane przy użyciu domyślnego formularza normalizacji.

IsAlwaysNormalized(NormalizationForm)

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy bieżące kodowanie jest zawsze znormalizowane przy użyciu określonego formularza normalizacji.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RegisterProvider(EncodingProvider)

Rejestruje dostawcę kodowania.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Koduje do zakresu bajtów zestaw znaków z określonego zakresu tylko do odczytu, jeśli miejsce docelowe jest wystarczająco duże.

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

Dekoduje w zakresie znaków zestaw bajtów z określonego zakresu tylko do odczytu, jeśli miejsce docelowe jest wystarczająco duże.

Metody rozszerzania

GetBytes(Encoding, ReadOnlySequence<Char>)

Koduje określony ReadOnlySequence<T> element do Byte tablicy przy użyciu określonego Encodingelementu .

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

Dekoduje określony ReadOnlySequence<T> element do bytes przy użyciu określonego Encoding i zapisuje wynik na writer.

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

Koduje określony ReadOnlySequence<T> element, aby używać byteokreślonego Encoding parametru i generuje wynik na byteswartość .

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

Koduje określony ReadOnlySpan<T> element do bytes przy użyciu określonego Encoding i zapisuje wynik na writer.

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

Dekoduje określony ReadOnlySequence<T> element do chars przy użyciu określonego Encoding i zapisuje wynik na writer.

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

Dekoduje określony ReadOnlySequence<T> element, aby używać charokreślonego Encoding parametru i generuje wynik na charswartość .

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

Dekoduje określony ReadOnlySpan<T> element do chars przy użyciu określonego Encoding i zapisuje wynik na writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Dekoduje określony ReadOnlySequence<T> element przy String użyciu określonego Encodingelementu .

Dotyczy

Zobacz też