UTF7Encoding Klasse

Definition

Stellt eine UTF-7-Codierung von Unicode-Zeichen dar.

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
Vererbung
UTF7Encoding
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie UTF7Encoding eine Zeichenfolge von Unicode-Zeichen codiert und in einem Bytearray gespeichert wird. Beachten Sie, dass beim Decodieren des Bytearrays in eine Zeichenfolge keine Daten verloren gehen.

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

Hinweise

Beim Kodieren werden Unicode-Zeichen in eine Bytefolge transformiert. Die Decodierung ist der Prozess der Transformation einer Sequenz codierter Bytes in einen Satz von Unicode-Zeichen.

Die UTF-7-Codierung stellt Unicode-Zeichen als Sequenzen von 7-Bit-ASCII-Zeichen dar. Diese Codierung unterstützt bestimmte Protokolle, für die sie erforderlich ist, meistens E-Mail- oder Newsgroupprotokolle. Da UTF-7 nicht besonders sicher oder robust ist und die meisten modernen Systeme 8-Bit-Codierungen zulassen, sollte UTF-8 normalerweise UTF-7 vorgezogen werden.

Hinweis

UTF7Encoding bietet keine Fehlererkennung. Aus Sicherheitsgründen sollte die Anwendung , UnicodeEncodingoder UTF32Encoding verwenden UTF8Encodingund die Fehlererkennung aktivieren.

Weitere Informationen zu den UTFs und anderen von System.Textunterstützten Codierungen finden Sie unter Zeichencodierung im .NET Framework.

Die GetByteCount -Methode bestimmt, wie viele Bytes zum Codieren eines Satzes von Unicode-Zeichen führen, und die- GetBytes Methode führt die eigentliche Codierung aus.

Ebenso bestimmt die GetCharCount Methode, wie viele Zeichen zum Decodieren einer Bytesequenz führen, und die GetChars Methoden und GetString führen die tatsächliche Decodierung aus.

UTF7Encoding entspricht der Windows-Codepage 65000.

Hinweis

Der Zustand eines UTF-7-codierten Objekts wird nicht beibehalten, wenn das Objekt mit verschiedenen .NET Framework Versionen serialisiert und deserialisiert wird.

Konstruktoren

UTF7Encoding()
Veraltet.

Initialisiert eine neue Instanz der UTF7Encoding-Klasse.

UTF7Encoding(Boolean)
Veraltet.

Initialisiert eine neue Instanz der UTF7Encoding-Klasse. Ein Parameter gibt an, ob optionale Zeichen zulässig sind.

Eigenschaften

BodyName

Beim Überschreiben in einer abgeleiteten Klasse wird ein Name für die aktuelle Codierung abgerufen, die mit den Body-Tags des E-Mail-Agenten verwendet werden kann.

(Geerbt von Encoding)
CodePage

Ruft den Codepagebezeichner der aktuellen Encoding-Klasse beim Überschreiben in einer abgeleiteten Klasse ab.

(Geerbt von Encoding)
DecoderFallback

Ruft das DecoderFallback-Objekt für das aktuelle Encoding-Objekt ab.

(Geerbt von Encoding)
EncoderFallback

Ruft das EncoderFallback-Objekt für das aktuelle Encoding-Objekt ab.

(Geerbt von Encoding)
EncodingName

Beim Überschreiben in einer abgeleiteten Klasse wird die Klartextbeschreibung der aktuellen Codierung abgerufen.

(Geerbt von Encoding)
HeaderName

Beim Überschreiben in einer abgeleiteten Klasse wird ein Name für die aktuelle Codierung abgerufen, die mit den Header-Tags des E-Mail-Agenten verwendet werden kann.

(Geerbt von Encoding)
IsBrowserDisplay

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Browserclients zum Anzeigen des Inhalts verwendet werden kann.

(Geerbt von Encoding)
IsBrowserSave

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Browserclients zum Speichern von Inhalt verwendet werden kann.

(Geerbt von Encoding)
IsMailNewsDisplay

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Mail- und Newsclients zum Anzeigen von Inhalt verwendet werden kann.

(Geerbt von Encoding)
IsMailNewsSave

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Mail- und Newsclients zum Speichern von Inhalt verwendet werden kann.

(Geerbt von Encoding)
IsReadOnly

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung schreibgeschützt ist.

(Geerbt von Encoding)
IsSingleByte

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung Einzelbyte-Codepunkte verwendet.

(Geerbt von Encoding)
Preamble

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Bytefolge zurück, die die verwendete Codierung angibt.

(Geerbt von Encoding)
WebName

Beim Überschreiben in einer abgeleiteten Klasse wird der Name für die aktuelle Codierung bei der Internet Assigned Numbers Authority (IANA) registriert.

(Geerbt von Encoding)
WindowsCodePage

Beim Überschreiben in einer abgeleiteten Klasse wird die Codepage des Betriebssystems Windows abgerufen, die der aktuellen Codierung am ehesten entspricht.

(Geerbt von Encoding)

Methoden

Clone()

Erstellt beim Überschreiben in einer abgeleiteten Klasse eine flache Kopie des aktuellen Encoding-Objekts.

(Geerbt von Encoding)
Equals(Object)

Ruft einen Wert ab, der angibt, ob das angegebene Objekt und das aktuelle UTF7Encoding-Objekt gleich sind.

Equals(Object)

Bestimmt, ob das angegebene Object und die aktuelle Instanz gleich sind.

(Geerbt von Encoding)
GetByteCount(Char*, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen ab dem angegebenen Zeichenzeiger erzeugt werden.

GetByteCount(Char*, Int32)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Bytes, die beim Codieren der Zeichen ab dem Zeichenzeiger erzeugt werden.

(Geerbt von Encoding)
GetByteCount(Char[])

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Bytes, die beim Codieren aller Zeichen im angegebenen Zeichenarray erzeugt werden.

(Geerbt von Encoding)
GetByteCount(Char[], Int32, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen aus dem angegebenen Zeichenarray erzeugt werden.

GetByteCount(ReadOnlySpan<Char>)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Bytes, die beim Codieren der Zeichen in der angegebenen Zeichenspanne erzeugt werden.

(Geerbt von Encoding)
GetByteCount(String)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen in das angegebene String-Objekt erzeugt werden.

GetByteCount(String)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Bytes, die beim Codieren der Zeichen in der angegebenen Zeichenfolge erzeugt werden.

(Geerbt von Encoding)
GetByteCount(String, Int32, Int32)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Bytes, die beim Codieren der Zeichen aus der angegebenen Zeichenspanne erzeugt werden.

(Geerbt von Encoding)
GetBytes(Char*, Int32, Byte*, Int32)

Codiert Zeichen beginnend am angegebenen Zeichenzeiger in eine Bytefolge, die beginnend am angegebenen Bytezeiger gespeichert wird.

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

Beim Überschreiben in einer abgeleiteten Klasse werden die Zeichen beginnend am angegebenen Zeichenzeiger in eine Bytefolge codiert, die ab Beginn des angegebenen Bytezeigers gespeichert wird.

(Geerbt von Encoding)
GetBytes(Char[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert.

(Geerbt von Encoding)
GetBytes(Char[], Int32, Int32)

Beim Überschreiben in einer abgeleiteten Klasse werden die Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert.

(Geerbt von Encoding)
GetBytes(Char[], Int32, Int32, Byte[], Int32)

Codiert Zeichen aus dem angegebenen Zeichenarray in das angegebene Bytearray.

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

Codiert beim Überschreiben in einer abgeleiteten Klasse eine Gruppe von Zeichen aus der angegebenen schreibgeschützten Spanne in eine Bytespanne.

(Geerbt von Encoding)
GetBytes(String)

Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen in der angegebenen Zeichenfolge in eine Bytefolge codiert.

(Geerbt von Encoding)
GetBytes(String, Int32, Int32)

Codiert beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die durch count in der angegebenen Zeichenfolge angegeben werden, ab dem angegebenen index in ein Bytearray.

(Geerbt von Encoding)
GetBytes(String, Int32, Int32, Byte[], Int32)

Codiert Zeichen aus der angegebenen String-Klasse in das angegebene Bytearray.

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

Beim Überschreiben in einer abgeleiteten Klasse werden die Zeichen aus der angegebenen Zeichenfolge in das angegebene Bytearray codiert.

(Geerbt von Encoding)
GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.

GetCharCount(Byte*, Int32)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.

(Geerbt von Encoding)
GetCharCount(Byte[])

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren aller Bytes in dem angegebenen Bytearray erzeugt werden.

(Geerbt von Encoding)
GetCharCount(Byte[], Int32, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden.

GetCharCount(ReadOnlySpan<Byte>)

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren der angegebenen schreibgeschützten Bytespanne erzeugt werden.

(Geerbt von Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Decodiert eine Bytefolge beginnend am angegebenen Bytezeiger in Zeichen, die beginnend am angegebenen Zeichenzeiger gespeichert werden.

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

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge beginnend am angegebenen Bytezeiger in Zeichen decodiert, die ab Beginn des angegebenen Zeichenzeigers gespeichert werden.

(Geerbt von Encoding)
GetChars(Byte[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in Zeichen decodiert.

(Geerbt von Encoding)
GetChars(Byte[], Int32, Int32)

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge aus dem angegebenen Bytearray in Zeichen decodiert.

(Geerbt von Encoding)
GetChars(Byte[], Int32, Int32, Char[], Int32)

Decodiert eine Bytefolge aus dem angegebenen Bytearray in das angegebene Zeichenarray.

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

Decodiert beim Überschreiben in einer abgeleiteten Klasse alle Bytes in der angegebenen schreibgeschützten Bytespanne in eine Zeichenspanne.

(Geerbt von Encoding)
GetDecoder()

Ruft einen Decoder ab, der eine UTF-7-codierte Bytefolge in eine Unicode-Zeichenfolge konvertiert.

GetEncoder()

Ruft einen Encoder ab, der eine Unicode-Zeichenfolge in eine UTF-7-codierte Bytefolge konvertiert.

GetHashCode()

Gibt den Hashcode für das aktuelle UTF7Encoding-Objekt zurück.

GetHashCode()

Gibt den Hashcode für die aktuelle Instanz zurück.

(Geerbt von Encoding)
GetMaxByteCount(Int32)

Berechnet die maximale Anzahl der Bytes, die beim Codieren der angegebenen Anzahl von Zeichen erzeugt wird.

GetMaxCharCount(Int32)

Berechnet die maximale Anzahl der Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.

GetPreamble()

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge zurückgegeben, die die verwendete Codierung angibt.

(Geerbt von Encoding)
GetString(Byte*, Int32)

Beim Überschreiben in einer abgeleiteten Klasse wird eine angegebene Anzahl von Bytes ab einer angegebenen Adresse in eine Zeichenfolge decodiert.

(Geerbt von Encoding)
GetString(Byte[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in eine Zeichenfolge decodiert.

(Geerbt von Encoding)
GetString(Byte[], Int32, Int32)

Decodiert einen Bytebereich aus einem Bytearray in eine Zeichenfolge.

GetString(Byte[], Int32, Int32)

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge aus dem angegebenen Bytearray in eine Zeichenfolge decodiert.

(Geerbt von Encoding)
GetString(ReadOnlySpan<Byte>)

Decodiert beim Überschreiben in einer abgeleiteten Klasse alle Bytes in der angegebenen Bytespanne in eine Zeichenfolge.

(Geerbt von Encoding)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsAlwaysNormalized()

Ruft einen Wert ab, der angibt, ob die aktuelle Codierung immer normalisiert ist. Es wird die Standardnormalisierungsform verwendet.

(Geerbt von Encoding)
IsAlwaysNormalized(NormalizationForm)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung immer normalisiert ist. Hierzu wird die angegebene Normalisierungsform verwendet.

(Geerbt von Encoding)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TryGetBytes(ReadOnlySpan<Char>, Span<Byte>, Int32)

Codiert einen Satz von Zeichen aus der angegebenen schreibgeschützten Spanne in eine Bytespanne, wenn das Ziel groß genug ist.

(Geerbt von Encoding)
TryGetChars(ReadOnlySpan<Byte>, Span<Char>, Int32)

Decodiert einen Satz von Bytes aus der angegebenen schreibgeschützten Spanne in eine Spanne von Zeichen, wenn das Ziel groß genug ist.

(Geerbt von Encoding)

Erweiterungsmethoden

GetBytes(Encoding, ReadOnlySequence<Char>)

Codiert die angegebene ReadOnlySequence<T> unter Verwendung der angegebenen Encoding in ein Byte-Array.

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

Decodiert die angegebene ReadOnlySequence<T> in bytes unter Verwendung der angegebenen Encoding und schreibt das Ergebnis in writer.

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

Codiert die angegebene ReadOnlySequence<T> in bytes unter Verwendung der angegebenen Encoding und gibt das Ergebnis in bytes aus.

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

Codiert die angegebene ReadOnlySpan<T> in bytes unter Verwendung der angegebenen Encoding und schreibt das Ergebnis in writer.

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

Decodiert die angegebene ReadOnlySequence<T> in chars unter Verwendung der angegebenen Encoding und schreibt das Ergebnis in writer.

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

Decodiert die angegebene ReadOnlySequence<T> in chars unter Verwendung der angegebenen Encoding und gibt das Ergebnis in chars aus.

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

Decodiert die angegebene ReadOnlySpan<T> in chars unter Verwendung der angegebenen Encoding und schreibt das Ergebnis in writer.

GetString(Encoding, ReadOnlySequence<Byte>)

Decodiert die angegebene ReadOnlySequence<T> unter Verwendung der angegebenen Encoding in einen String.

Gilt für:

Weitere Informationen