UTF7Encoding Klasse

Definition

Stellt eine UTF-7-Codierung von Unicode-Zeichen dar.Represents a UTF-7 encoding of Unicode characters.

public ref class UTF7Encoding : System::Text::Encoding
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class UTF7Encoding : System.Text.Encoding
type UTF7Encoding = class
    inherit Encoding
Public Class UTF7Encoding
Inherits Encoding
Vererbung
UTF7Encoding
Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein UTF7Encoding verwendet wird, um eine Zeichenfolge von Unicode-Zeichen zu codieren und in einem Bytearray zu speichern.The following code example demonstrates how to use a UTF7Encoding to encode a string of Unicode characters and store them in a byte array. Beachten Sie, dass keine Daten verloren gehen, wenn das Bytearray wieder in eine Zeichenfolge decodiert wird.Notice that when the byte array is decoded back to a string, no data is lost.

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.Encoding is the process of transforming a set of Unicode characters into a sequence of bytes. Beim Decodieren wird eine Sequenz codierter Bytes in eine Gruppe von Unicode-Zeichen transformiert.Decoding is the process of transforming a sequence of encoded bytes into a set of Unicode characters.

Die UTF-7-Codierung stellt Unicode-Zeichen als Sequenzen von 7-Bit-ASCII-Zeichen dar.The UTF-7 encoding represents Unicode characters as sequences of 7-bit ASCII characters. Diese Codierung unterstützt bestimmte Protokolle, für die dies erforderlich ist, meistens e-Mail-oder Newsgroup-Protokolle.This encoding supports certain protocols for which it is required, most often email or newsgroup protocols. Da UTF-7 nicht besonders sicher oder robust ist und die meisten modernen Systeme 8-Bit-Codierungen zulassen, sollte UTF-8 normalerweise für UTF-7 bevorzugt werden.Since UTF-7 is not particularly secure or robust, and most modern systems allow 8-bit encodings, UTF-8 should normally be preferred to UTF-7.

Hinweis

UTF7Encodingstellt keine Fehlererkennung bereit.UTF7Encoding does not provide error detection. Aus Sicherheitsgründen sollte die Anwendung, UTF8Encoding UnicodeEncodingoder UTF32Encoding verwenden und die Fehlererkennung aktivieren.For security reasons, the application should use UTF8Encoding, UnicodeEncoding, or UTF32Encoding and enable error detection.

Weitere Informationen zu den von System.Textunterstützten UTFs und anderen Codierungen finden Sie unter Zeichencodierung in der .NET Framework.For more information about the UTFs and other encodings supported by System.Text, see Character Encoding in the .NET Framework.

Die GetByteCount -Methode bestimmt, wie viele Bytes zum Codieren eines Satzes von Unicode-Zeichen GetBytes führen, und die-Methode führt die eigentliche Codierung aus.The GetByteCount method determines how many bytes result in encoding a set of Unicode characters, and the GetBytes method performs the actual encoding.

Die GetCharCount -Methode bestimmt entsprechend, wie viele Zeichen eine Bytefolge decodiert, und die GetChars - GetString und-Methoden führen die eigentliche Decodierung aus.Likewise, the GetCharCount method determines how many characters result in decoding a sequence of bytes, and the GetChars and GetString methods perform the actual decoding.

UTF7Encodingentspricht der Windows-Codepage 65000.UTF7Encoding corresponds to the Windows code page 65000.

Hinweis

Der Status eines UTF-7-codierten Objekts wird nicht beibehalten, wenn das Objekt mit unterschiedlichen .NET Framework Versionen serialisiert und deserialisiert wird.The state of a UTF-7 encoded object is not preserved if the object is serialized and deserialized using different .NET Framework versions.

Konstruktoren

UTF7Encoding()

Initialisiert eine neue Instanz der UTF7Encoding-Klasse.Initializes a new instance of the UTF7Encoding class.

UTF7Encoding(Boolean)

Initialisiert eine neue Instanz der UTF7Encoding-Klasse.Initializes a new instance of the UTF7Encoding class. Ein Parameter gibt an, ob optionale Zeichen zulässig sind.A parameter specifies whether to allow optional characters.

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.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent body tags.

(Geerbt von Encoding)
CodePage

Ruft den Codepagebezeichner der aktuellen Encoding-Klasse beim Überschreiben in einer abgeleiteten Klasse ab.When overridden in a derived class, gets the code page identifier of the current Encoding.

(Geerbt von Encoding)
DecoderFallback

Ruft das DecoderFallback-Objekt für das aktuelle Encoding-Objekt ab.Gets or sets the DecoderFallback object for the current Encoding object.

(Geerbt von Encoding)
EncoderFallback

Ruft das EncoderFallback-Objekt für das aktuelle Encoding-Objekt ab.Gets or sets the EncoderFallback object for the current Encoding object.

(Geerbt von Encoding)
EncodingName

Beim Überschreiben in einer abgeleiteten Klasse wird die Klartextbeschreibung der aktuellen Codierung abgerufen.When overridden in a derived class, gets the human-readable description of the current encoding.

(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.When overridden in a derived class, gets a name for the current encoding that can be used with mail agent header tags.

(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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for displaying content.

(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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by browser clients for saving content.

(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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for displaying content.

(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.When overridden in a derived class, gets a value indicating whether the current encoding can be used by mail and news clients for saving content.

(Geerbt von Encoding)
IsReadOnly

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung schreibgeschützt ist.When overridden in a derived class, gets a value indicating whether the current encoding is read-only.

(Geerbt von Encoding)
IsSingleByte

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung Einzelbyte-Codepunkte verwendet.When overridden in a derived class, gets a value indicating whether the current encoding uses single-byte code points.

(Geerbt von Encoding)
Preamble (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.When overridden in a derived class, gets the name registered with the Internet Assigned Numbers Authority (IANA) for the current encoding.

(Geerbt von Encoding)
WindowsCodePage

Beim Überschreiben in einer abgeleiteten Klasse wird die Codepage des Betriebssystems Windows abgerufen, die der aktuellen Codierung am ehesten entspricht.When overridden in a derived class, gets the Windows operating system code page that most closely corresponds to the current encoding.

(Geerbt von Encoding)

Methoden

Clone()

Erstellt beim Überschreiben in einer abgeleiteten Klasse eine flache Kopie des aktuellen Encoding-Objekts.When overridden in a derived class, creates a shallow copy of the current Encoding object.

(Geerbt von Encoding)
Equals(Object)

Ruft einen Wert ab, der angibt, ob das angegebene Objekt und das aktuelle UTF7Encoding-Objekt gleich sind.Gets a value indicating whether the specified object is equal to the current UTF7Encoding object.

GetByteCount(Char*, Int32)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen ab dem angegebenen Zeichenzeiger erzeugt werden.Calculates the number of bytes produced by encoding a set of characters starting at the specified character pointer.

GetByteCount(Char[])

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Bytes, die beim Codieren aller Zeichen im angegebenen Zeichenarray erzeugt werden.When overridden in a derived class, calculates the number of bytes produced by encoding all the characters in the specified character array.

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

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen aus dem angegebenen Zeichenarray erzeugt werden.Calculates the number of bytes produced by encoding a set of characters from the specified character array.

GetByteCount(ReadOnlySpan<Char>) (Geerbt von Encoding)
GetByteCount(String)

Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen in das angegebene String-Objekt erzeugt werden.Calculates the number of bytes produced by encoding the characters in the specified String object.

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

Codiert Zeichen beginnend am angegebenen Zeichenzeiger in eine Bytefolge, die beginnend am angegebenen Bytezeiger gespeichert wird.Encodes a set of characters starting at the specified character pointer into a sequence of bytes that are stored starting at the specified byte pointer.

GetBytes(Char[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert.When overridden in a derived class, encodes all the characters in the specified character array into a sequence of bytes.

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

Beim Überschreiben in einer abgeleiteten Klasse werden die Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert.When overridden in a derived class, encodes a set of characters from the specified character array into a sequence of bytes.

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

Codiert Zeichen aus dem angegebenen Zeichenarray in das angegebene Bytearray.Encodes a set of characters from the specified character array into the specified byte array.

GetBytes(ReadOnlySpan<Char>, Span<Byte>) (Geerbt von Encoding)
GetBytes(String)

Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen in der angegebenen Zeichenfolge in eine Bytefolge codiert.When overridden in a derived class, encodes all the characters in the specified string into a sequence of bytes.

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

Codiert Zeichen aus der angegebenen String-Klasse in das angegebene Bytearray.Encodes a set of characters from the specified String into the specified byte array.

GetCharCount(Byte*, Int32)

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes starting at the specified byte pointer.

GetCharCount(Byte[])

Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeichen, die beim Decodieren aller Bytes in dem angegebenen Bytearray erzeugt werden.When overridden in a derived class, calculates the number of characters produced by decoding all the bytes in the specified byte array.

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

Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Bytearray erzeugt werden.Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array.

GetCharCount(ReadOnlySpan<Byte>) (Geerbt von Encoding)
GetChars(Byte*, Int32, Char*, Int32)

Decodiert eine Bytefolge beginnend am angegebenen Bytezeiger in Zeichen, die beginnend am angegebenen Zeichenzeiger gespeichert werden.Decodes a sequence of bytes starting at the specified byte pointer into a set of characters that are stored starting at the specified character pointer.

GetChars(Byte[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in Zeichen decodiert.When overridden in a derived class, decodes all the bytes in the specified byte array into a set of characters.

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

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge aus dem angegebenen Bytearray in Zeichen decodiert.When overridden in a derived class, decodes a sequence of bytes from the specified byte array into a set of characters.

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

Decodiert eine Bytefolge aus dem angegebenen Bytearray in das angegebene Zeichenarray.Decodes a sequence of bytes from the specified byte array into the specified character array.

GetChars(ReadOnlySpan<Byte>, Span<Char>) (Geerbt von Encoding)
GetDecoder()

Ruft einen Decoder ab, der eine UTF-7-codierte Bytefolge in eine Unicode-Zeichenfolge konvertiert.Obtains a decoder that converts a UTF-7 encoded sequence of bytes into a sequence of Unicode characters.

GetEncoder()

Ruft einen Encoder ab, der eine Unicode-Zeichenfolge in eine UTF-7-codierte Bytefolge konvertiert.Obtains an encoder that converts a sequence of Unicode characters into a UTF-7 encoded sequence of bytes.

GetHashCode()

Gibt den Hashcode für das aktuelle UTF7Encoding-Objekt zurück.Returns the hash code for the current UTF7Encoding object.

GetMaxByteCount(Int32)

Berechnet die maximale Anzahl der Bytes, die beim Codieren der angegebenen Anzahl von Zeichen erzeugt wird.Calculates the maximum number of bytes produced by encoding the specified number of characters.

GetMaxCharCount(Int32)

Berechnet die maximale Anzahl der Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden.Calculates the maximum number of characters produced by decoding the specified number of bytes.

GetPreamble()

Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge zurückgegeben, die die verwendete Codierung angibt.When overridden in a derived class, returns a sequence of bytes that specifies the encoding used.

(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.When overridden in a derived class, decodes a specified number of bytes starting at a specified address into a string.

(Geerbt von Encoding)
GetString(Byte[])

Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in eine Zeichenfolge decodiert.When overridden in a derived class, decodes all the bytes in the specified byte array into a string.

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

Decodiert einen Bytebereich aus einem Bytearray in eine Zeichenfolge.Decodes a range of bytes from a byte array into a string.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsAlwaysNormalized()

Ruft einen Wert ab, der angibt, ob die aktuelle Codierung immer normalisiert ist. Es wird die Standardnormalisierungsform verwendet.Gets a value indicating whether the current encoding is always normalized, using the default normalization form.

(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.When overridden in a derived class, gets a value indicating whether the current encoding is always normalized, using the specified normalization form.

(Geerbt von Encoding)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Gilt für:

Siehe auch