Encoding Classe

Definizione

Rappresenta una codifica di caratteri.

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
Ereditarietà
Encoding
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene convertita una stringa da una codifica a un'altra.

Note

La byte[] matrice è l'unico tipo in questo esempio che contiene i dati codificati. I tipi .NET Char e String sono unicode, quindi la chiamata GetChars decodifica i dati in Unicode.

using System;
using System.Text;

class ConvertExample
{
   static void Run()
   {
      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 Example1
   Shared Sub Run()
      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 (?)

Commenti

La Encoding classe rappresenta una codifica di caratteri.

La codifica è il processo di trasformazione di un set di caratteri Unicode in una sequenza di byte. Al contrario, la decodifica è il processo di trasformazione di una sequenza di byte codificati in un set di caratteri Unicode. Per informazioni sui formati di trasformazione Unicode (UTFs) e altre codifiche supportate da Encoding, vedere Codifica dei caratteri in .NET.

Encoding è progettato per operare su caratteri Unicode invece di dati binari arbitrari, ad esempio matrici di byte. Se è necessario codificare dati binari arbitrari in testo, è consigliabile usare un protocollo come uuencode, implementato da metodi come Convert.ToBase64CharArray.

.NET fornisce le implementazioni seguenti della Encoding classe per supportare le codifiche Unicode correnti e altre codifiche:

  • ASCIIEncoding codifica i caratteri Unicode come caratteri ASCII a 7 bit singoli. Questa codifica supporta solo i valori di carattere compresi tra U+0000 e U+007F. Pagina di codice 20127. Disponibile anche tramite la ASCII proprietà .

  • UTF7Encoding codifica i caratteri Unicode usando la codifica UTF-7. Questa codifica supporta tutti i valori di carattere Unicode. Tabella codici 65000. Disponibile anche tramite la UTF7 proprietà .

  • UTF8Encoding codifica i caratteri Unicode usando la codifica UTF-8. Questa codifica supporta tutti i valori di carattere Unicode. Pagina codice 65001. Disponibile anche tramite la UTF8 proprietà .

  • UnicodeEncoding codifica i caratteri Unicode usando la codifica UTF-16. Sono supportati sia i formati little endian che big endian degli ordini di byte. Disponibile anche tramite la Unicode proprietà e la BigEndianUnicode proprietà .

  • UTF32Encoding codifica i caratteri Unicode usando la codifica UTF-32. Sono supportati sia little endian (pagina codice 12000) che big endian (pagina codice 12001). Disponibile anche tramite la UTF32 proprietà .

La Encoding classe è destinata principalmente alla conversione tra codifiche diverse e Unicode. Spesso una delle classi Unicode derivate è la scelta corretta per l'app.

Usare il GetEncoding metodo per ottenere altre codifiche e chiamare il GetEncodings metodo per ottenere un elenco di tutte le codifiche.

Elenco delle codifiche

Nella tabella seguente sono elencate le codifiche supportate da .NET. Elenca il numero della tabella codici di ogni codifica e i valori delle proprietà EncodingInfo.Name e EncodingInfo.DisplayName. Un segno di spunta nella colonna di supporto di .NET Framework, supporto di .NET Core o .NET 5 e versioni successive indica che la tabella codici è supportata in modo nativo dall'implementazione di .NET, indipendentemente dalla piattaforma sottostante. Per .NET Framework, la disponibilità di altre codifiche elencate nella tabella dipende dal sistema operativo. Per .NET Core e .NET 5 e versioni successive, sono disponibili altre codifiche usando la System.Text.CodePagesEncodingProvider classe o derivando dalla System.Text.EncodingProvider classe .

Note

Le tabelle codici la cui EncodingInfo.Name proprietà corrisponde a uno standard internazionale non sono necessariamente conformi a tale standard.

Tabella codici Name Nome visualizzato Supporto di .NET Framework Supporto di .NET Core Supporto di .NET 5 e versioni successive
37 IBM037 IBM EBCDIC (US-Canada)
437 IBM437 OEM Stati Uniti
500 IBM500 IBM EBCDIC (International)
708 ASMO-708 Arabo (ASMO 708)
720 DOS-720 Arabo (DOS)
737 ibm737 Greco (DOS)
775 ibm775 Baltico (DOS)
850 ibm850 Europa occidentale (DOS)
852 ibm852 Europa centrale (DOS)
855 IBM855 OEM Cirillico
857 ibm857 Turco (DOS)
858 IBM00858 OEM Multilingue Latino I
860 IBM860 Portoghese (DOS)
861 ibm861 Islandese (DOS)
862 DOS-862 Ebraico (DOS)
863 IBM863 Francese Canadese (DOS)
864 IBM864 Arabo (864)
865 IBM865 Nordico (DOS)
866 cp866 Cirillico (DOS)
869 ibm869 Greco, Moderno (DOS)
870 IBM870 IBM EBCDIC (multilingue latino-2)
874 windows-874 Tailandese (Windows)
875 cp875 IBM EBCDIC (greco moderno)
932 shift_jis Giapponese (Shift-JIS)
936 gb2312 Cinese semplificato (GB2312)
949 ks_c_5601-1987 Coreano
950 big5 Cinese tradizionale (Big5)
1026 IBM1026 IBM EBCDIC (Latino-5 turco)
1047 IBM01047 IBM Latin-1
1140 IBM01140 IBM EBCDIC (US-Canada-Euro)
1141 IBM01141 IBM EBCDIC (Germany-Euro)
1142 IBM01142 IBM EBCDIC (Danimarca-Norway-Euro)
1143 IBM01143 IBM EBCDIC (Finlandia-Sweden-Euro)
1144 IBM01144 IBM EBCDIC (Italy-Euro)
1145 IBM01145 IBM EBCDIC (Spain-Euro)
1146 IBM01146 IBM EBCDIC (UK-Euro)
1147 IBM01147 IBM EBCDIC (France-Euro)
1148 IBM01148 IBM EBCDIC (International-Euro)
1149 IBM01149 IBM EBCDIC (Icelandic-Euro)
1200 utf-16 Unicode
1201 unicodeFFFE Unicode (Grande endian)
1250 windows-1250 Europa centrale (Windows)
1251 windows-1251 Cirillico (Windows)
1252 Windows-1252 Europa occidentale (Windows)
1253 windows-1253 Greco (Windows)
1254 windows-1254 Turco (Windows)
1255 windows-1255 Ebraico (Windows)
1256 windows-1256 Arabo (Windows)
1257 windows-1257 Baltico (Windows)
1258 windows-1258 Vietnamita (Windows)
1361 Johab Coreano (Johab)
10000 Macintosh Europa occidentale (Mac)
10001 x-mac-japanese Giapponese (Mac)
10002 x-mac-chinesetrad Cinese tradizionale (Mac)
10003 x-mac-korean Coreano (Mac)
10004 x-mac-arabic Arabo (Mac)
10005 x-mac-ebraico Ebraico (Mac)
10006 x-mac-greco Greco (Mac)
10007 x-mac-cirillico Cirillico (Mac)
10008 x-mac-chinesesimp Cinese semplificato (Mac)
10010 x-mac-romeno Romeno (Mac)
10017 x-mac-ucraino Ucraino (Mac)
10021 x-mac-thai Thai (Mac)
10029 x-mac-ce Europa centrale (Mac)
10079 x-mac-islandese Islandese (Mac)
10081 x-mac-turkish Turco (Mac)
10082 x-mac-croato Croato (Mac)
12000 utf-32 Unicode (UTF-32)
12001 utf-32BE Unicode (UTF-32 Big Endian)
20000 x-Chinese-CNS Cinese tradizionale (CNS)
20001 x-cp20001 TCA Taiwan
20002 x-Chinese-Eten Cinese tradizionale (Eten)
20003 x-cp20003 IBM5550 Taiwan
20004 x-cp20004 TeleText Taiwan
20005 x-cp20005 Wang Taiwan
20105 x-IA5 Europa occidentale (IA5)
20106 x-IA5-German Tedesco (IA5)
20107 x-IA5-Swedish Svedese (IA5)
20108 x-IA5-Norwegian Norvegese (IA5)
20127 us-ascii US-ASCII
20261 x-cp20261 T.61
20269 x-cp20269 ISO-6937
20273 IBM273 IBM EBCDIC (Germania)
20277 IBM277 IBM EBCDIC (Denmark-Norway)
20278 IBM278 IBM EBCDIC (Finland-Sweden)
20280 IBM280 IBM EBCDIC (Italia)
20284 IBM284 IBM EBCDIC (Spagna)
20285 IBM285 IBM EBCDIC (REGNO UNITO)
20290 IBM290 IBM EBCDIC (katakana giapponese)
20297 IBM297 IBM EBCDIC (Francia)
20420 IBM420 IBM EBCDIC (arabo)
20423 IBM423 IBM EBCDIC (greco)
20424 IBM424 IBM EBCDIC (ebraico)
20833 x-EBCDIC-KoreanExtended IBM EBCDIC (coreano esteso)
20838 IBM-Thai IBM EBCDIC (Thai)
20866 koi8-r Cirillico (KOI8-R)
20871 IBM871 IBM EBCDIC (Islandese)
20880 IBM880 IBM EBCDIC (russo cirillico)
20905 IBM905 IBM EBCDIC (turco)
20924 IBM00924 IBM Latin-1
20932 EUC-JP Giapponese (JIS 0208-1990 e 0212-1990)
20936 x-cp20936 Cinese semplificato (GB2312-80)
20949 x-cp20949 Wansung coreano
21025 cp1025 IBM EBCDIC (Serbian-Bulgariancirillico )
21866 koi8-u Cirillico (KOI8-U)
28591 iso-8859-1 Europa occidentale (ISO)
28592 iso-8859-2 Europa centrale (ISO)
28593 iso-8859-3 Latino 3 (ISO)
28594 iso-8859-4 Baltico (ISO)
28595 iso-8859-5 Cirillico (ISO)
28596 iso-8859-6 Arabo (ISO)
28597 iso-8859-7 Greco (ISO)
28598 iso-8859-8 Ebraico (ISO-Visual)
28599 iso-8859-9 Turco (ISO)
28603 iso-8859-13 Estone (ISO)
28605 iso-8859-15 Latino 9 (ISO)
29001 x-Europa Europa
38598 iso-8859-8-i Ebraico (ISO-Logical)
50220 iso-2022-jp Giapponese (JIS)
50221 csISO2022JP Giapponese (JIS-Allow 1 byte Kana)
50222 iso-2022-jp Giapponese (JIS-Allow 1 byte Kana - SO/SI)
50225 iso-2022-kr Coreano (ISO)
50227 x-cp50227 Cinese semplificato (ISO-2022)
51932 euc-jp Giapponese (EUC)
51936 EUC-CN Cinese semplificato (EUC)
51949 euc-kr Coreano (EUC)
52936 hz-gb-2312 Cinese semplificato (HZ)
54936 GB18030 Cinese semplificato (GB18030)
57002 x-iscii-de ISCII Devanagari
57003 x-iscii-be ISCII Bengali (Formato di codifica standard per le scritture indiane, incluso il bengalese)
57004 x-iscii-ta ISCII Tamil
57005 x-iscii-te ISCII Telugu
57006 x-iscii-as ISCII Assamese
57007 x-iscii-or Codifica dei caratteri ISCII per l'Oriya
57008 x-iscii-ka ISCII Kannada
57009 x-iscii-ma ISCII Malayalam
57010 x-iscii-gu ISCII Gujarati
57011 x-iscii-pa ISCII Punjabi (un sistema di codifica usato per le lingue indiane tra cui il Punjabi)
65000 utf-7 Unicode (UTF-7)
65001 utf-8 Unicode (UTF-8)

Nell'esempio seguente vengono chiamati i metodi GetEncoding(Int32) e GetEncoding(String) per ottenere la codifica della pagina codici Windows greca. Confronta gli Encoding oggetti restituiti dalle chiamate al metodo per indicare che sono uguali, e quindi esegue il mapping visualizzando il punto di codice Unicode e il valore della tabella codici corrispondente per ogni carattere nell'alfabeto greco.

using System;
using System.Text;

public class GetEncodingExample
{
   public static void Run()
   {
      Encoding enc = Encoding.GetEncoding(1253);
      Encoding altEnc = Encoding.GetEncoding("windows-1253");
      Console.WriteLine($"{enc.EncodingName} = Code Page {altEnc.CodePage}: {enc.Equals(altEnc)}");
      string greekAlphabet = "Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η " +
                             "Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ " +
                             "Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ " +
                             "Φ φ Χ χ Ψ ψ Ω ω";
      Console.OutputEncoding = Encoding.UTF8;
      byte[] bytes = enc.GetBytes(greekAlphabet);
      Console.WriteLine("{0,-12} {1,20} {2,20:X2}", "Character",
                        "Unicode Code Point", "Code Page 1253");
      for (int ctr = 0; ctr < bytes.Length; ctr++) {
         if (greekAlphabet[ctr].Equals(' '))
            continue;

         Console.WriteLine("{0,-12} {1,20} {2,20:X2}", greekAlphabet[ctr],
                           GetCodePoint(greekAlphabet[ctr]), bytes[ctr]);
      }
   }

   private static string GetCodePoint(char ch)
   {
      string retVal = "u+";
      byte[] bytes = Encoding.Unicode.GetBytes(ch.ToString());
      for (int ctr = bytes.Length - 1; ctr >= 0; ctr--)
         retVal += bytes[ctr].ToString("X2");

      return retVal;
   }
}

// The example displays the following output:
//       Character      Unicode Code Point       Code Page 1253
//       Α                          u+0391                   C1
//       α                          u+03B1                   E1
//       Β                          u+0392                   C2
//       β                          u+03B2                   E2
//       Γ                          u+0393                   C3
//       γ                          u+03B3                   E3
//       Δ                          u+0394                   C4
//       δ                          u+03B4                   E4
//       Ε                          u+0395                   C5
//       ε                          u+03B5                   E5
//       Ζ                          u+0396                   C6
//       ζ                          u+03B6                   E6
//       Η                          u+0397                   C7
//       η                          u+03B7                   E7
//       Θ                          u+0398                   C8
//       θ                          u+03B8                   E8
//       Ι                          u+0399                   C9
//       ι                          u+03B9                   E9
//       Κ                          u+039A                   CA
//       κ                          u+03BA                   EA
//       Λ                          u+039B                   CB
//       λ                          u+03BB                   EB
//       Μ                          u+039C                   CC
//       μ                          u+03BC                   EC
//       Ν                          u+039D                   CD
//       ν                          u+03BD                   ED
//       Ξ                          u+039E                   CE
//       ξ                          u+03BE                   EE
//       Ο                          u+039F                   CF
//       ο                          u+03BF                   EF
//       Π                          u+03A0                   D0
//       π                          u+03C0                   F0
//       Ρ                          u+03A1                   D1
//       ρ                          u+03C1                   F1
//       Σ                          u+03A3                   D3
//       σ                          u+03C3                   F3
//       ς                          u+03C2                   F2
//       Τ                          u+03A4                   D4
//       τ                          u+03C4                   F4
//       Υ                          u+03A5                   D5
//       υ                          u+03C5                   F5
//       Φ                          u+03A6                   D6
//       φ                          u+03C6                   F6
//       Χ                          u+03A7                   D7
//       χ                          u+03C7                   F7
//       Ψ                          u+03A8                   D8
//       ψ                          u+03C8                   F8
//       Ω                          u+03A9                   D9
//       ω                          u+03C9                   F9
Imports System.Text

Module Example2
   Public Sub Run()
      Dim enc As Encoding = Encoding.GetEncoding(1253)
      Dim altEnc As Encoding = Encoding.GetEncoding("windows-1253")
      Console.WriteLine("{0} = Code Page {1}: {2}", enc.EncodingName,
                        altEnc.CodePage, enc.Equals(altEnc))
      Dim greekAlphabet As String = "Α α Β β Γ γ Δ δ Ε ε Ζ ζ Η η " +
                                    "Θ θ Ι ι Κ κ Λ λ Μ μ Ν ν Ξ ξ " +
                                    "Ο ο Π π Ρ ρ Σ σ ς Τ τ Υ υ " +
                                    "Φ φ Χ χ Ψ ψ Ω ω"
      Console.OutputEncoding = Encoding.UTF8
      Dim bytes() As Byte = enc.GetBytes(greekAlphabet)
      Console.WriteLine("{0,-12} {1,20} {2,20:X2}", "Character",
                        "Unicode Code Point", "Code Page 1253")
      For ctr As Integer = 0 To bytes.Length - 1
         If greekAlphabet(ctr).Equals(" "c) Then Continue For

         Console.WriteLine("{0,-12} {1,20} {2,20:X2}", greekAlphabet(ctr),
                           GetCodePoint(greekAlphabet(ctr)), bytes(ctr))
      Next

   End Sub

   Private Function GetCodePoint(ch As String) As String
      Dim retVal As String = "u+"
      Dim bytes() As Byte = Encoding.Unicode.GetBytes(ch)
      For ctr As Integer = bytes.Length - 1 To 0 Step -1
         retVal += bytes(ctr).ToString("X2")
      Next
      Return retVal
   End Function
End Module
' The example displays the following output:
'    Character      Unicode Code Point       Code Page 1253
'    Α                          u+0391                   C1
'    α                          u+03B1                   E1
'    Β                          u+0392                   C2
'    β                          u+03B2                   E2
'    Γ                          u+0393                   C3
'    γ                          u+03B3                   E3
'    Δ                          u+0394                   C4
'    δ                          u+03B4                   E4
'    Ε                          u+0395                   C5
'    ε                          u+03B5                   E5
'    Ζ                          u+0396                   C6
'    ζ                          u+03B6                   E6
'    Η                          u+0397                   C7
'    η                          u+03B7                   E7
'    Θ                          u+0398                   C8
'    θ                          u+03B8                   E8
'    Ι                          u+0399                   C9
'    ι                          u+03B9                   E9
'    Κ                          u+039A                   CA
'    κ                          u+03BA                   EA
'    Λ                          u+039B                   CB
'    λ                          u+03BB                   EB
'    Μ                          u+039C                   CC
'    μ                          u+03BC                   EC
'    Ν                          u+039D                   CD
'    ν                          u+03BD                   ED
'    Ξ                          u+039E                   CE
'    ξ                          u+03BE                   EE
'    Ο                          u+039F                   CF
'    ο                          u+03BF                   EF
'    Π                          u+03A0                   D0
'    π                          u+03C0                   F0
'    Ρ                          u+03A1                   D1
'    ρ                          u+03C1                   F1
'    Σ                          u+03A3                   D3
'    σ                          u+03C3                   F3
'    ς                          u+03C2                   F2
'    Τ                          u+03A4                   D4
'    τ                          u+03C4                   F4
'    Υ                          u+03A5                   D5
'    υ                          u+03C5                   F5
'    Φ                          u+03A6                   D6
'    φ                          u+03C6                   F6
'    Χ                          u+03A7                   D7
'    χ                          u+03C7                   F7
'    Ψ                          u+03A8                   D8
'    ψ                          u+03C8                   F8
'    Ω                          u+03A9                   D9
'    ω                          u+03C9                   F9

Se i dati da convertire sono disponibili solo in blocchi sequenziali (ad esempio i dati letti da un flusso) o se la quantità di dati è così grande che deve essere suddivisa in blocchi più piccoli, è necessario usare rispettivamente l'oggetto Decoder o fornito Encoder dal GetDecoder metodo o dal GetEncoder metodo di una classe derivata.

I codificatori UTF-16 e UTF-32 possono usare prima l'ordine dei byte big endian (byte più significativo) o l'ordine dei byte little endian (byte meno significativo). Ad esempio, la lettera maiuscola latina A (U+0041) viene serializzata come segue (in formato esadecimale):

  • Ordine dei byte big endian UTF-16: 00 41
  • UTF-16 modello little endian (ordine dei byte: 41 00)
  • Ordine di byte UTF-32 big endian: 00 00 00 41
  • Ordine dei byte UTF-32 little endian: 41 00 00 00

In genere è più efficiente archiviare i caratteri Unicode usando l'ordine dei byte nativo. Ad esempio, è meglio usare l'ordine dei byte little endian su piattaforme little endian, ad esempio i computer Intel.

Il GetPreamble metodo recupera una matrice di byte che include il byte order mark (BOM). Se questa matrice di byte è preceduta da un flusso codificato, consente al decodificatore di identificare il formato di codifica usato.

Per ulteriori informazioni sull'ordine dei byte e sul contrassegno di ordine dei byte, vedere Lo standard Unicode nella home page Unicode.

È importante notare che le classi di codifica consentono agli errori di:

  • Passare automaticamente a un carattere "?".
  • Usa un carattere "più adatto".
  • Passare a un comportamento specifico dell'applicazione tramite l'uso delle classi EncoderFallback e DecoderFallback con il carattere di sostituzione Unicode U+FFFD.

È consigliabile generare un'eccezione per qualsiasi errore del flusso di dati. Un'app usa un flag "throwonerror" quando applicabile o usa le EncoderExceptionFallback classi e DecoderExceptionFallback . Il fallback più adatto spesso non è consigliato perché può causare perdita di dati o confusione ed è più lento rispetto alle semplici sostituzioni dei caratteri. Per le codifiche ANSI, il comportamento più appropriato è l'impostazione predefinita.

Costruttori

Nome Descrizione
Encoding()

Inizializza una nuova istanza della classe Encoding.

Encoding(Int32, EncoderFallback, DecoderFallback)

Inizializza una nuova istanza della Encoding classe che corrisponde alla tabella codici specificata con le strategie di fallback del codificatore e del decodificatore specificate.

Encoding(Int32)

Inizializza una nuova istanza della Encoding classe che corrisponde alla tabella codici specificata.

Proprietà

Nome Descrizione
ASCII

Ottiene una codifica per il set di caratteri ASCII (a 7 bit).

BigEndianUnicode

Ottiene una codifica per il formato UTF-16 che usa l'ordine dei byte big endian.

BodyName

In caso di override in una classe derivata, ottiene un nome per la codifica corrente che può essere utilizzata con i tag del corpo dell'agente di posta.

CodePage

In caso di override in una classe derivata, ottiene l'identificatore della tabella codici dell'oggetto corrente Encoding.

DecoderFallback

Ottiene o imposta l'oggetto DecoderFallback per l'oggetto corrente Encoding .

Default

Ottiene la codifica predefinita per questa implementazione di .NET.

EncoderFallback

Ottiene o imposta l'oggetto EncoderFallback per l'oggetto corrente Encoding .

EncodingName

In caso di override in una classe derivata, ottiene la descrizione leggibile della codifica corrente.

HeaderName

In caso di override in una classe derivata, ottiene un nome per la codifica corrente che può essere utilizzata con i tag di intestazione dell'agente di posta elettronica.

IsBrowserDisplay

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere utilizzata dai client del browser per la visualizzazione del contenuto.

IsBrowserSave

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere utilizzata dai client del browser per il salvataggio del contenuto.

IsMailNewsDisplay

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere utilizzata dai client di posta elettronica e notizie per la visualizzazione del contenuto.

IsMailNewsSave

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere utilizzata dai client di posta elettronica e notizie per il salvataggio del contenuto.

IsReadOnly

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente è di sola lettura.

IsSingleByte

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente utilizza punti di codice a byte singolo.

Latin1

Ottiene una codifica per il set di caratteri Latin1 (ISO-8859-1).

Preamble

Quando sottoposto a override in una classe derivata, restituisce un intervallo contenente la sequenza di byte che specifica la codifica utilizzata.

Unicode

Ottiene una codifica per il formato UTF-16 usando l'ordine dei byte little endian.

UTF32

Ottiene una codifica per il formato UTF-32 usando l'ordine dei byte little endian.

UTF7
Obsoleti.

Ottiene una codifica per il formato UTF-7.

UTF8

Ottiene una codifica per il formato UTF-8.

WebName

In caso di override in una classe derivata, ottiene il nome registrato con Internet Assigned Numbers Authority (IANA) per la codifica corrente.

WindowsCodePage

Quando sottoposto a override in una classe derivata, ottiene la tabella codici del sistema operativo Windows che corrisponde più strettamente alla codifica corrente.

Metodi

Nome Descrizione
Clone()

Quando sottoposto a override in una classe derivata, crea una copia superficiale dell'oggetto corrente Encoding .

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

Converte un intervallo di byte in una matrice di byte da una codifica a un'altra.

Convert(Encoding, Encoding, Byte[])

Converte un'intera matrice di byte da una codifica a un'altra.

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

Crea un oggetto Stream che serve per eseguire la transcodifica dei dati tra un oggetto interno Encoding e un oggetto esterno Encoding, simile a Convert(Encoding, Encoding, Byte[]).

Equals(Object)

Determina se l'oggetto specificato Object è uguale all'istanza corrente.

GetByteCount(Char[], Int32, Int32)

In caso di override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla matrice di caratteri specificata.

GetByteCount(Char[])

Quando sottoposto a override in una classe derivata, calcola il numero di byte prodotti dalla codifica di tutti i caratteri nella matrice di caratteri specificata.

GetByteCount(Char*, Int32)

Quando sottoposto a override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri a partire dal puntatore di caratteri specificato.

GetByteCount(ReadOnlySpan<Char>)

Quando sottoposto a override in una classe derivata, calcola il numero di byte prodotti dalla codifica dei caratteri nell'intervallo di caratteri specificato.

GetByteCount(String, Int32, Int32)

In caso di override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla stringa specificata.

GetByteCount(String)

In caso di override in una classe derivata, calcola il numero di byte prodotti dalla codifica dei caratteri nella stringa specificata.

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

In caso di override in una classe derivata, codifica un set di caratteri dalla matrice di caratteri specificata nella matrice di byte specificata.

GetBytes(Char[], Int32, Int32)

In caso di override in una classe derivata, codifica un set di caratteri dalla matrice di caratteri specificata in una sequenza di byte.

GetBytes(Char[])

In caso di override in una classe derivata, codifica tutti i caratteri nella matrice di caratteri specificata in una sequenza di byte.

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

Quando sottoposto a override in una classe derivata, codifica un set di caratteri a partire dal puntatore di carattere specificato in una sequenza di byte archiviati a partire dal puntatore di byte specificato.

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

Quando sottoposto a override in una classe derivata, codifica in un intervallo di byte un set di caratteri dall'intervallo di sola lettura specificato.

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

In caso di override in una classe derivata, codifica un set di caratteri dalla stringa specificata nella matrice di byte specificata.

GetBytes(String, Int32, Int32)

Quando sottoposto a override in una classe derivata, codifica in una matrice di byte il numero di caratteri specificato dalla count stringa specificata, a partire dall'oggetto specificato index.

GetBytes(String)

Quando sottoposto a override in una classe derivata, codifica tutti i caratteri nella stringa specificata in una sequenza di byte.

GetCharCount(Byte[], Int32, Int32)

In caso di override in una classe derivata, calcola il numero di caratteri prodotti decodificando una sequenza di byte dalla matrice di byte specificata.

GetCharCount(Byte[])

In caso di override in una classe derivata, calcola il numero di caratteri prodotti decodificando tutti i byte nella matrice di byte specificata.

GetCharCount(Byte*, Int32)

Quando sottoposto a override in una classe derivata, calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte a partire dal puntatore di byte specificato.

GetCharCount(ReadOnlySpan<Byte>)

In caso di override in una classe derivata, calcola il numero di caratteri prodotti decodificando l'intervallo di byte di sola lettura fornito.

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

In caso di override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata nella matrice di caratteri specificata.

GetChars(Byte[], Int32, Int32)

In caso di override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata in un set di caratteri.

GetChars(Byte[])

In caso di override in una classe derivata, decodifica tutti i byte nella matrice di byte specificata in un set di caratteri.

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

Quando sottoposto a override in una classe derivata, decodifica una sequenza di byte a partire dal puntatore di byte specificato in un set di caratteri archiviati a partire dal puntatore di caratteri specificato.

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

In caso di override in una classe derivata, decodifica tutti i byte nell'intervallo di byte di sola lettura specificato in un intervallo di caratteri.

GetDecoder()

In caso di override in una classe derivata, ottiene un decodificatore che converte una sequenza codificata di byte in una sequenza di caratteri.

GetEncoder()

In caso di override in una classe derivata, ottiene un codificatore che converte una sequenza di caratteri Unicode in una sequenza codificata di byte.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Restituisce la codifica associata all'identificatore della tabella codici specificato. I parametri specificano un gestore errori per i caratteri che non possono essere codificati e sequenze di byte che non possono essere decodificate.

GetEncoding(Int32)

Restituisce la codifica associata all'identificatore della tabella codici specificato.

GetEncoding(String, EncoderFallback, DecoderFallback)

Restituisce la codifica associata al nome della tabella codici specificato. I parametri specificano un gestore errori per i caratteri che non possono essere codificati e sequenze di byte che non possono essere decodificate.

GetEncoding(String)

Restituisce la codifica associata al nome della tabella codici specificato.

GetEncodings()

Restituisce una matrice che contiene tutte le codifiche.

GetHashCode()

Restituisce il codice hash per l'istanza corrente.

GetMaxByteCount(Int32)

In caso di override in una classe derivata, calcola il numero massimo di byte prodotti dalla codifica del numero specificato di caratteri.

GetMaxCharCount(Int32)

In caso di override in una classe derivata, calcola il numero massimo di caratteri prodotti decodificando il numero specificato di byte.

GetPreamble()

Quando sottoposto a override in una classe derivata, restituisce una sequenza di byte che specifica la codifica utilizzata.

GetString(Byte[], Int32, Int32)

In caso di override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata in una stringa.

GetString(Byte[])

In caso di override in una classe derivata, decodifica tutti i byte nella matrice di byte specificata in una stringa.

GetString(Byte*, Int32)

Quando sottoposto a override in una classe derivata, decodifica un numero specificato di byte a partire da un indirizzo specificato in una stringa.

GetString(ReadOnlySpan<Byte>)

Quando sottoposto a override in una classe derivata, decodifica tutti i byte nell'intervallo di byte specificato in una stringa.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsAlwaysNormalized()

Ottiene un valore che indica se la codifica corrente è sempre normalizzata, utilizzando il formato di normalizzazione predefinito.

IsAlwaysNormalized(NormalizationForm)

In caso di override in una classe derivata, ottiene un valore che indica se la codifica corrente è sempre normalizzata, utilizzando il formato di normalizzazione specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
RegisterProvider(EncodingProvider)

Registra un provider di codifica.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Codifica in un intervallo di byte un set di caratteri dall'intervallo di sola lettura specificato se la destinazione è sufficientemente grande.

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

Decodifica in un intervallo di caratteri un set di byte dall'intervallo di sola lettura specificato se la destinazione è sufficientemente grande.

Metodi di estensione

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

Decodifica l'oggetto specificato ReadOnlySequence<T> in byteutilizzando l'oggetto specificato Encoding e scrive il risultato in writer.

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

Codifica l'oggetto specificato ReadOnlySequence<T> in byteutilizzando l'oggetto specificato Encoding e restituisce il risultato in bytes.

GetBytes(Encoding, ReadOnlySequence<Char>)

Codifica l'oggetto specificato ReadOnlySequence<T> in una Byte matrice usando l'oggetto specificato Encoding.

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

Codifica l'oggetto specificato ReadOnlySpan<T> in byteutilizzando l'oggetto specificato Encoding e scrive il risultato in writer.

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

Decodifica l'oggetto specificato ReadOnlySequence<T> in charutilizzando l'oggetto specificato Encoding e scrive il risultato in writer.

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

Decodifica l'oggetto specificato ReadOnlySequence<T> in charutilizzando l'oggetto specificato Encoding e restituisce il risultato in chars.

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

Decodifica l'oggetto specificato ReadOnlySpan<T> in charutilizzando l'oggetto specificato Encoding e scrive il risultato in writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Decodifica l'oggetto specificato ReadOnlySequence<T> in un String oggetto utilizzando l'oggetto specificato Encoding.

Si applica a

Vedi anche