Condividi tramite


Encoding Classe

Definizione

Rappresenta una codifica 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.

Nota

La byte[] matrice è l'unico tipo di questo esempio che contiene i dati codificati. .NET Char e i String tipi sono a loro volta Unicode, quindi la GetChars chiamata decodifica i dati in 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 (?)

Commenti

Per altre informazioni su questa API, vedere Note sulle API supplementari per la codifica.

Costruttori

Encoding()

Inizializza una nuova istanza della classe Encoding.

Encoding(Int32)

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

Encoding(Int32, EncoderFallback, DecoderFallback)

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

Proprietà

ASCII

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

BigEndianUnicode

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

BodyName

Quando ne viene eseguito l'override in una classe derivata, ottiene un nome per la codifica corrente che può essere usato con i tag body degli agenti di posta.

CodePage

Quando ne viene eseguito l'override in una classe derivata, ottiene l'identificatore della tabella codici dell'oggetto Encoding corrente.

DecoderFallback

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

Default

Ottiene la codifica predefinita per questa implementazione di .NET.

EncoderFallback

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

EncodingName

Quando ne viene eseguito l'override in una classe derivata, ottiene la descrizione leggibile della codifica corrente.

HeaderName

Quando ne viene eseguito l'override in una classe derivata, ottiene un nome per la codifica corrente che può essere usato con i tag di intestazione degli agenti di posta.

IsBrowserDisplay

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere usata dai browser client per visualizzare il contenuto.

IsBrowserSave

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere usata dai browser client per salvare il contenuto.

IsMailNewsDisplay

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere usata dai client di posta e dai client delle news per visualizzare il contenuto.

IsMailNewsSave

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente può essere usata dai client di posta e dai client delle news per salvare il contenuto.

IsReadOnly

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente è di sola lettura.

IsSingleByte

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente usa punti di codice a un byte.

Latin1

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

Preamble

Quando ne viene eseguito l'override in una classe derivata, restituisce un intervallo contenente la sequenza di byte che specifica la codifica usata.

Unicode

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

UTF32

Ottiene una codifica per il formato UTF-32 che usa 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

Quando ne viene eseguito l'override in una classe derivata, ottiene il nome registrato con IANA (Internet Assigned Numbers Authority) per la codifica corrente.

WindowsCodePage

Quando ne viene eseguito l'override in una classe derivata, ottiene la tabella codici del sistema operativo Windows che meglio corrisponde alla codifica corrente.

Metodi

Clone()

Quando ne viene eseguito l'override in una classe derivata, crea una copia superficiale dell'oggetto Encoding corrente.

Convert(Encoding, Encoding, Byte[])

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

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

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

CreateTranscodingStream(Stream, Encoding, Encoding, Boolean)

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

Equals(Object)

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

GetByteCount(Char*, Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri a partire dal puntatore ai caratteri specificato.

GetByteCount(Char[])

Quando ne viene eseguito l'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, Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla matrice di caratteri specificata.

GetByteCount(ReadOnlySpan<Char>)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica dei caratteri nell'intervallo di caratteri specificato.

GetByteCount(String)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica dei caratteri nella stringa specificata.

GetByteCount(String, Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla stringa specificata.

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

Quando ne viene eseguito l'override in una classe derivata, codifica un set di caratteri a partire dal puntatore ai caratteri specificato in una sequenza di byte archiviati a partire dal puntatore ai byte specificato.

GetBytes(Char[])

Quando ne viene eseguito l'override in una classe derivata, codifica tutti i caratteri nella matrice di caratteri specificata in una sequenza di byte.

GetBytes(Char[], Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, codifica un set di caratteri dalla matrice di caratteri specificata in una sequenza di byte.

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

Quando ne viene eseguito l'override in una classe derivata, codifica un set di caratteri dalla matrice di caratteri specificata nella matrice di byte specificata.

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

Quando ne viene eseguito l'override in una classe derivata, codifica un set di caratteri dall'intervallo di sola lettura specificato in un intervallo di byte.

GetBytes(String)

Quando ne viene eseguito l'override in una classe derivata, codifica tutti i caratteri nella stringa specificata in una sequenza di byte.

GetBytes(String, Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, codifica in una matrice di byte il numero di caratteri specificato da count nella stringa specificata, a partire dal valore di index specificato.

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

Quando ne viene eseguito l'override in una classe derivata, codifica un set di caratteri dalla stringa specificata nella matrice di byte specificata.

GetCharCount(Byte*, Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte a partire dal puntatore ai byte specificato.

GetCharCount(Byte[])

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di caratteri prodotti dalla decodifica di tutti i byte nella matrice di byte specificata.

GetCharCount(Byte[], Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte dalla matrice di byte specificata.

GetCharCount(ReadOnlySpan<Byte>)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di caratteri prodotti dalla decodifica dell'intervallo di byte di sola lettura specificato.

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

Quando ne viene eseguito l'override in una classe derivata, decodifica una sequenza di byte a partire dal puntatore ai byte specificato in un set di caratteri archiviati a partire dal puntatore ai caratteri specificato.

GetChars(Byte[])

Quando ne viene eseguito l'override in una classe derivata, decodifica tutti i byte nella matrice di byte specificata in un set di caratteri.

GetChars(Byte[], Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata in un set di caratteri.

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

Quando ne viene eseguito l'override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata nella matrice di caratteri specificata.

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

Quando ne viene eseguito l'override in una classe derivata, decodifica tutti i byte nell'intervallo di byte di sola lettura specificato in un intervallo di caratteri.

GetDecoder()

Quando ne viene eseguito l'override in una classe derivata, ottiene un decodificatore che converte una sequenza di byte codificata in una sequenza di caratteri.

GetEncoder()

Quando ne viene eseguito l'override in una classe derivata, ottiene un codificatore che converte una sequenza di caratteri Unicode in una sequenza di byte codificata.

GetEncoding(Int32)

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

GetEncoding(Int32, EncoderFallback, DecoderFallback)

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

GetEncoding(String)

Restituisce la codifica associata al nome della tabella codici specificata.

GetEncoding(String, EncoderFallback, DecoderFallback)

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

GetEncodings()

Restituisce una matrice contenente tutte le codifiche.

GetHashCode()

Restituisce il codice hash per l'istanza corrente.

GetMaxByteCount(Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero massimo di byte prodotti dalla codifica del numero di caratteri specificato.

GetMaxCharCount(Int32)

Quando ne viene eseguito l'override in una classe derivata, calcola il numero massimo di caratteri prodotti dalla decodifica del numero di byte specificato.

GetPreamble()

Quando ne viene eseguito l'override in una classe derivata, restituisce una sequenza di byte che specifica la codifica usata.

GetString(Byte*, Int32)

Quando ne viene eseguito l'override in una classe derivata, decodifica un numero di byte specificato partendo da un indirizzo specificato in una stringa.

GetString(Byte[])

Quando ne viene eseguito l'override in una classe derivata, decodifica tutti i byte nella matrice di byte specificata in una stringa.

GetString(Byte[], Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, decodifica una sequenza di byte dalla matrice di byte specificata in una stringa.

GetString(ReadOnlySpan<Byte>)

Quando ne viene eseguito l'override in una classe derivata, decodifica tutti i byte nell'intervallo di byte specificato in una stringa.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsAlwaysNormalized()

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

IsAlwaysNormalized(NormalizationForm)

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se la codifica corrente viene sempre normalizzata, usando il formato di normalizzazione specificato.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(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 è sufficiente.

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 è abbastanza grande.

Metodi di estensione

GetBytes(Encoding, ReadOnlySequence<Char>)

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

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

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

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

Codifica l'oggetto ReadOnlySequence<T> specificato in byte usando l'oggetto Encoding specificato e visualizza il risultato in bytes.

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

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

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

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

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

Decodifica l'oggetto ReadOnlySequence<T> specificato in char usando l'oggetto Encoding specificato e visualizza il risultato in chars.

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

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

GetString(Encoding, ReadOnlySequence<Byte>)

Decodifica l'oggetto ReadOnlySequence<T> specificato in una String usando l'oggetto Encoding specificato.

Si applica a

Vedi anche