Condividi tramite


UTF7Encoding Classe

Definizione

Rappresenta una codifica UTF-7 dei caratteri Unicode.

public ref class UTF7Encoding : System::Text::Encoding
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
public class UTF7Encoding : System.Text.Encoding
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class UTF7Encoding : System.Text.Encoding
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
type UTF7Encoding = class
    inherit Encoding
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type UTF7Encoding = class
    inherit Encoding
Public Class UTF7Encoding
Inherits Encoding
Ereditarietà
UTF7Encoding
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato come usare un UTF7Encoding oggetto per codificare una stringa di caratteri Unicode e archiviarli in una matrice di byte. Si noti che quando la matrice di byte viene decodificata in una stringa, non vengono persi dati.

using namespace System;
using namespace System::Text;
using namespace System::Collections;
int main()
{
   
   // Create a UTF-7 encoding.
   UTF7Encoding^ utf7 = gcnew UTF7Encoding;
   
   // A Unicode string with two characters outside a 7-bit code range.
   String^ unicodeString = L"This Unicode string contains two characters with codes outside a 7-bit code range, Pi (\u03a0) and Sigma (\u03a3).";
   Console::WriteLine( "Original string:" );
   Console::WriteLine( unicodeString );
   
   // Encode the string.
   array<Byte>^encodedBytes = utf7->GetBytes( unicodeString );
   Console::WriteLine();
   Console::WriteLine( "Encoded bytes:" );
   IEnumerator^ myEnum = encodedBytes->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Byte b = safe_cast<Byte>(myEnum->Current);
      Console::Write( "[{0}]", b );
   }

   Console::WriteLine();
   
   // Decode bytes back to string.
   // Notice Pi and Sigma characters are still present.
   String^ decodedString = utf7->GetString( encodedBytes );
   Console::WriteLine();
   Console::WriteLine( "Decoded bytes:" );
   Console::WriteLine( decodedString );
}
using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Create a UTF-7 encoding.
        UTF7Encoding utf7 = new UTF7Encoding();
        
        // A Unicode string with two characters outside a 7-bit code range.
        String unicodeString =
            "This Unicode string contains two characters " +
            "with codes outside a 7-bit code range, " +
            "Pi (\u03a0) and Sigma (\u03a3).";
        Console.WriteLine("Original string:");
        Console.WriteLine(unicodeString);

        // Encode the string.
        Byte[] encodedBytes = utf7.GetBytes(unicodeString);
        Console.WriteLine();
        Console.WriteLine("Encoded bytes:");
        foreach (Byte b in encodedBytes) {
            Console.Write("[{0}]", b);
        }
        Console.WriteLine();
        
        // Decode bytes back to string.
        // Notice Pi and Sigma characters are still present.
        String decodedString = utf7.GetString(encodedBytes);
        Console.WriteLine();
        Console.WriteLine("Decoded bytes:");
        Console.WriteLine(decodedString);
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Create a UTF-7 encoding.
        Dim utf7 As New UTF7Encoding()
        
        ' A Unicode string with two characters outside a 7-bit code range.
        Dim unicodeString As String = _
            "This Unicode string contains two characters " & _
            "with codes outside a 7-bit code range, " & _
            "Pi (" & ChrW(928) & ") and Sigma (" & ChrW(931) & ")."
        Console.WriteLine("Original string:")
        Console.WriteLine(unicodeString)
        
        ' Encode the string.
        Dim encodedBytes As Byte() = utf7.GetBytes(unicodeString)
        Console.WriteLine()
        Console.WriteLine("Encoded bytes:")
        Dim b As Byte
        For Each b In  encodedBytes
            Console.Write("[{0}]", b)
        Next b
        Console.WriteLine()
        
        ' Decode bytes back to string.
        ' Notice Pi and Sigma characters are still present.
        Dim decodedString As String = utf7.GetString(encodedBytes)
        Console.WriteLine()
        Console.WriteLine("Decoded bytes:")
        Console.WriteLine(decodedString)
    End Sub
End Class

Commenti

La codifica è il processo di trasformazione di un insieme di caratteri Unicode in una sequenza di byte. Decodifica è il processo di trasformazione di una sequenza di byte codificati in un set di caratteri Unicode.

La codifica UTF-7 rappresenta caratteri Unicode come sequenze di caratteri ASCII a 7 bit. Questa codifica supporta determinati protocolli per i quali è necessario, più spesso i protocolli di posta elettronica o newsgroup. Poiché UTF-7 non è particolarmente sicuro o affidabile e la maggior parte dei sistemi moderni consente codifica a 8 bit, UTF-8 deve normalmente essere preferito a UTF-7.

Nota

UTF7Encoding non fornisce il rilevamento degli errori. Per motivi di sicurezza, l'applicazione deve usare UTF8Encoding, UnicodeEncodingo UTF32Encoding e abilitare il rilevamento degli errori.

Per altre informazioni sulle UTFs e altre codifiche supportate da System.Text, vedere Codifica dei caratteri in .NET Framework.

Il GetByteCount metodo determina il numero di byte che comportano la codifica di un set di caratteri Unicode e il GetBytes metodo esegue la codifica effettiva.

Analogamente, il GetCharCount metodo determina il numero di caratteri che determinano la decodifica di una sequenza di byte e i GetChars metodi e GetString eseguono la decodifica effettiva.

UTF7Encoding corrisponde alla tabella codici di Windows 65000.

Nota

Lo stato di un oggetto con codifica UTF-7 non viene mantenuto se l'oggetto viene serializzato e deserializzato usando versioni diverse di .NET Framework.

Costruttori

UTF7Encoding()
Obsoleti.

Inizializza una nuova istanza della classe UTF7Encoding.

UTF7Encoding(Boolean)
Obsoleti.

Inizializza una nuova istanza della classe UTF7Encoding. Un parametro specifica se consentire caratteri facoltativi.

Proprietà

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.

(Ereditato da Encoding)
CodePage

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

(Ereditato da Encoding)
DecoderFallback

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

(Ereditato da Encoding)
EncoderFallback

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

(Ereditato da Encoding)
EncodingName

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

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
IsReadOnly

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

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
Preamble

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

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)

Metodi

Clone()

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

(Ereditato da Encoding)
Equals(Object)

Ottiene un valore che indica se l'oggetto specificato è uguale all'oggetto UTF7Encoding corrente.

Equals(Object)

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

(Ereditato da Encoding)
GetByteCount(Char*, Int32)

Calcola il numero di byte prodotti dalla codifica di un set di caratteri a partire dal puntatore ai caratteri specificato.

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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetByteCount(Char[], Int32, Int32)

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.

(Ereditato da Encoding)
GetByteCount(String)

Calcola il numero di byte prodotti dalla codifica dei caratteri nell'oggetto String 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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

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*, 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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

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.

(Ereditato da Encoding)
GetBytes(String)

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

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Codifica un set di caratteri dall'oggetto String specificato nella matrice di byte specificata.

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.

(Ereditato da Encoding)
GetCharCount(Byte*, Int32)

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte a partire dal puntatore ai byte specificato.

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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetCharCount(Byte[], Int32, Int32)

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.

(Ereditato da Encoding)
GetChars(Byte*, Int32, Char*, Int32)

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*, 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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

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.

(Ereditato da Encoding)
GetDecoder()

Ottiene un decodificatore in grado di convertire una sequenza di byte codificati UTF-7 in una sequenza di caratteri Unicode.

GetEncoder()

Ottiene un codificatore che riesce a convertire una sequenza di caratteri Unicode in una sequenza di byte codificati UTF-7.

GetHashCode()

Restituisce il codice hash per l'oggetto UTF7Encoding corrente.

GetHashCode()

Restituisce il codice hash per l'istanza corrente.

(Ereditato da Encoding)
GetMaxByteCount(Int32)

Calcola il numero massimo di byte prodotti dalla codifica del numero di caratteri specificato.

GetMaxCharCount(Int32)

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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
GetString(Byte[])

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

(Ereditato da Encoding)
GetString(Byte[], Int32, Int32)

Decodifica un intervallo di byte da una matrice di byte 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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
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.

(Ereditato da Encoding)
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.

(Ereditato da Encoding)

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