Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

UTF32Encoding-Klasse

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

System.Object
  System.Text.Encoding
    System.Text.UTF32Encoding

Namespace:  System.Text
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
public sealed class UTF32Encoding : Encoding

Der UTF32Encoding-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUTF32Encoding()Initialisiert eine neue Instanz der UTF32Encoding-Klasse.
Öffentliche MethodeUTF32Encoding(Boolean, Boolean)Initialisiert eine neue Instanz der UTF32Encoding-Klasse. Parameter geben an, ob die Big-Endian-Bytereihenfolge verwendet und eine Unicode-Bytereihenfolgemarkierung bereitgestellt werden soll.
Öffentliche MethodeUTF32Encoding(Boolean, Boolean, Boolean)Initialisiert eine neue Instanz der UTF32Encoding-Klasse. Parameter geben an, ob die Big-Endian-Bytereihenfolge verwendet, eine Unicode-Bytereihenfolgemarkierung bereitgestellt und beim Erkennen einer ungültigen Codierung eine Ausnahme ausgelöst werden soll.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftBodyNameBeim Ü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. (Von Encoding geerbt.)
Öffentliche EigenschaftCodePageRuft den Codepagebezeichner der aktuellen Encoding-Klasse beim Überschreiben in einer abgeleiteten Klasse ab. (Von Encoding geerbt.)
Öffentliche EigenschaftDecoderFallbackRuft das DecoderFallback-Objekt für das aktuelle Encoding-Objekt ab. (Von Encoding geerbt.)
Öffentliche EigenschaftEncoderFallbackRuft das EncoderFallback-Objekt für das aktuelle Encoding-Objekt ab. (Von Encoding geerbt.)
Öffentliche EigenschaftEncodingNameBeim Überschreiben in einer abgeleiteten Klasse wird die Klartextbeschreibung der aktuellen Codierung abgerufen. (Von Encoding geerbt.)
Öffentliche EigenschaftHeaderNameBeim Ü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. (Von Encoding geerbt.)
Öffentliche EigenschaftIsBrowserDisplayBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Browserclients zum Anzeigen des Inhalts verwendet werden kann. (Von Encoding geerbt.)
Öffentliche EigenschaftIsBrowserSaveBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert abgerufen, der angibt, ob die aktuelle Codierung von Browserclients zum Speichern von Inhalt verwendet werden kann. (Von Encoding geerbt.)
Öffentliche EigenschaftIsMailNewsDisplayBeim Ü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. (Von Encoding geerbt.)
Öffentliche EigenschaftIsMailNewsSaveBeim Ü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. (Von Encoding geerbt.)
Öffentliche EigenschaftIsReadOnlyRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung schreibgeschützt ist. (Von Encoding geerbt.)
Öffentliche EigenschaftIsSingleByteRuft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob die aktuelle Codierung Einzelbyte-Codepunkte verwendet. (Von Encoding geerbt.)
Öffentliche EigenschaftWebNameBeim Überschreiben in einer abgeleiteten Klasse wird der Name für die aktuelle Codierung bei der Internet Assigned Numbers Authority (IANA) registriert. (Von Encoding geerbt.)
Öffentliche EigenschaftWindowsCodePageBeim Überschreiben in einer abgeleiteten Klasse wird die Codepage des Betriebssystems Windows abgerufen, die der aktuellen Codierung am ehesten entspricht. (Von Encoding geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeCloneErstellt beim Überschreiben in einer abgeleiteten Klasse eine flache Kopie des aktuellen Encoding-Objekts. (Von Encoding geerbt.)
Öffentliche MethodeEqualsBestimmt, ob das angegebene Object-Objekt und das aktuelle UTF32Encoding-Objekt gleich sind. (Überschreibt Encoding.Equals(Object).)
Geschützte MethodeFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeGetByteCount(Char[])Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Bytes, die beim Codieren aller Zeichen im angegebenen Zeichenarray erzeugt wird. (Von Encoding geerbt.)
Öffentliche MethodeGetByteCount(String)Berechnet die Anzahl der Bytes, die durch das Codieren der Zeichen in der angegebenen String-Klasse erzeugt werden. (Überschreibt Encoding.GetByteCount(String).)
Öffentliche MethodeGetByteCount(Char*, Int32)Berechnet die Anzahl von Bytes, die beim Codieren einer Gruppe von Zeichen ab dem angegebenen Zeichenzeiger erzeugt wird. (Überschreibt Encoding.GetByteCount(Char*, Int32).)
Öffentliche MethodeGetByteCount(Char[], Int32, Int32)Berechnet die Anzahl der Bytes, die beim Codieren der Zeichen aus dem angegebenen Zeichenarray erzeugt werden. (Überschreibt Encoding.GetByteCount(Char[], Int32, Int32).)
Öffentliche MethodeGetBytes(Char[])Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert. (Von Encoding geerbt.)
Öffentliche MethodeGetBytes(String)Beim Überschreiben in einer abgeleiteten Klasse werden alle Zeichen in der angegebenen Zeichenfolge in eine Bytefolge codiert. (Von Encoding geerbt.)
Öffentliche MethodeGetBytes(Char[], Int32, Int32)Beim Überschreiben in einer abgeleiteten Klasse werden die Zeichen im angegebenen Zeichenarray in eine Bytefolge codiert. (Von Encoding geerbt.)
Öffentliche MethodeGetBytes(Char*, Int32, Byte*, Int32)Codiert Zeichen beginnend am angegebenen Zeichenzeiger in eine Bytefolge, die beginnend am angegebenen Bytezeiger gespeichert wird. (Überschreibt Encoding.GetBytes(Char*, Int32, Byte*, Int32).)
Öffentliche MethodeGetBytes(Char[], Int32, Int32, Byte[], Int32)Codiert Zeichen aus dem angegebenen Zeichenarray in das angegebene Bytearray. (Überschreibt Encoding.GetBytes(Char[], Int32, Int32, Byte[], Int32).)
Öffentliche MethodeGetBytes(String, Int32, Int32, Byte[], Int32)Codiert einen Zeichensatz aus der angegebenen String-Klasse in das angegebene Bytearray. (Überschreibt Encoding.GetBytes(String, Int32, Int32, Byte[], Int32).)
Öffentliche MethodeGetCharCount(Byte[])Berechnet beim Überschreiben in einer abgeleiteten Klasse die Anzahl an Zeichen, die beim Decodieren aller Bytes in dem angegebenen Bytearray erzeugt wird. (Von Encoding geerbt.)
Öffentliche MethodeGetCharCount(Byte*, Int32)Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge ab dem angegebenen Bytezeiger erzeugt werden. (Überschreibt Encoding.GetCharCount(Byte*, Int32).)
Öffentliche MethodeGetCharCount(Byte[], Int32, Int32)Berechnet die Anzahl der Zeichen, die beim Decodieren einer Bytefolge aus dem angegebenen Zeichenarray erzeugt werden. (Überschreibt Encoding.GetCharCount(Byte[], Int32, Int32).)
Öffentliche MethodeGetChars(Byte[])Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in Zeichen decodiert. (Von Encoding geerbt.)
Öffentliche MethodeGetChars(Byte[], Int32, Int32)Beim Überschreiben in einer abgeleiteten Klasse wird eine Bytefolge aus dem angegebenen Bytearray in Zeichen decodiert. (Von Encoding geerbt.)
Öffentliche MethodeGetChars(Byte*, Int32, Char*, Int32)Decodiert eine Bytefolge beginnend am angegebenen Bytezeiger in Zeichen, die beginnend am angegebenen Zeichenzeiger gespeichert werden. (Überschreibt Encoding.GetChars(Byte*, Int32, Char*, Int32).)
Öffentliche MethodeGetChars(Byte[], Int32, Int32, Char[], Int32)Decodiert eine Bytefolge aus dem angegebenen Bytearray in das angegebene Zeichenarray. (Überschreibt Encoding.GetChars(Byte[], Int32, Int32, Char[], Int32).)
Öffentliche MethodeGetDecoderRuft einen Decoder ab, der eine UTF-32-codierte Bytefolge in eine Unicode-Zeichenfolge konvertiert. (Überschreibt Encoding.GetDecoder().)
Öffentliche MethodeGetEncoderRuft einen Encoder ab, der eine Unicode-Zeichenfolge in eine UTF-32-codierte Bytefolge konvertiert. (Überschreibt Encoding.GetEncoder().)
Öffentliche MethodeGetHashCodeGibt den Hashcode für die aktuelle Instanz zurück. (Überschreibt Encoding.GetHashCode().)
Öffentliche MethodeGetMaxByteCountBerechnet die maximale Anzahl der Bytes, die beim Codieren der angegebenen Anzahl von Zeichen erzeugt werden. (Überschreibt Encoding.GetMaxByteCount(Int32).)
Öffentliche MethodeGetMaxCharCountBerechnet die maximale Anzahl der Zeichen, die beim Decodieren der angegebenen Anzahl von Bytes erzeugt werden. (Überschreibt Encoding.GetMaxCharCount(Int32).)
Öffentliche MethodeGetPreambleGibt eine im UTF-32-Format codierte Unicode-Bytereihenfolgemarkierung zurück, wenn der Konstruktor für diese Instanz die Bereitstellung einer Bytereihenfolgemarkierung anfordert. (Überschreibt Encoding.GetPreamble().)
Öffentliche MethodeGetString(Byte[])Beim Überschreiben in einer abgeleiteten Klasse werden alle Bytes im angegebenen Bytearray in eine Zeichenfolge decodiert. (Von Encoding geerbt.)
Öffentliche MethodeGetString(Byte[], Int32, Int32)Decodiert einen Bytebereich aus einem Bytearray in eine Zeichenfolge. (Überschreibt Encoding.GetString(Byte[], Int32, Int32).)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsAlwaysNormalized()Ruft einen Wert ab, der angibt, ob die aktuelle Codierung immer normalisiert ist. Es wird die Standardnormalisierungsform verwendet. (Von Encoding geerbt.)
Öffentliche MethodeIsAlwaysNormalized(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. (Von Encoding geerbt.)
Geschützte MethodeMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Beim Codieren werden Unicode-Zeichen in eine Bytefolge transformiert. Beim Decodieren wird eine Folge codierter Bytes in Unicode-Zeichen transformiert.

Die UTF-32-Codierung stellt jeden Codepunkt als 32-Bit-Ganzzahl dar. Weitere Informationen zu den UTFs und anderen von System.Text unterstützten Codierungen finden Sie unter Zeichencodierung in .NET Framework und Verwenden der Unicode-Codierung.

Die GetByteCount-Methode bestimmt, wie viele Bytes sich beim Codieren einer Reihe von Unicode-Zeichen ergeben, und die GetBytes-Methode führt die eigentliche Codierung durch.

Ebenso bestimmt die GetCharCount-Methode, wie viele Zeichen sich aus der Decodierung einer Bytefolge ergeben, und die GetChars-Methode und die GetString-Methode führen die eigentliche Decodierung aus.

UTF32Encoding entspricht den Windows-Codepages 12000 (Little-Endian-Bytereihenfolge) und 12001 (Big-Endian-Bytereihenfolge).

Der Encoder kann die Big-Endian-Bytereihenfolge (mit dem höchstwertigen Byte an erster Stelle) oder die Little-Endian-Bytereihenfolge (mit dem niederwertigsten Byte an erster Stelle) verwenden. Beispielsweise wird der lateinische Großbuchstabe A (Codepunkt U+0041) wie folgt serialisiert (Hexadezimalwert):

  • Big-Endian-Bytereihenfolge: 00 00 00 41

  • Little-Endian-Bytereihenfolge: 41 00 00 00

Im Allgemeinen ist es effizienter, Unicode-Zeichen in der systemeigenen Bytereihenfolge zu speichern. Beispielsweise ist es besser, die Little-Endian-Bytereihenfolge auf entsprechenden Plattformen, z. B. auf Intel-Computern, zu verwenden.

Die GetPreamble-Methode ruft ein Bytearray zurück, das die Bytereihenfolgemarkierung (Byte Order Mark, BOM) enthalten kann. Wenn dieses Bytearray einem codierten Stream vorangestellt ist, unterstützt es den Decoder bei der Ermittlung des verwendeten Codierungsformats.

Weitere Informationen zur Bytereihenfolge und zur Bytereihenfolgemarkierung finden Sie im Unicode-Standard auf der Unicode-Homepage (auf Englisch).

HinweisHinweis

Um die Fehlererkennung zu aktivieren und die Sicherheit der Klasseninstanz zu erhöhen, sollte die Anwendung den UTF32Encoding-Konstruktor verwenden, der einen throwOnInvalidCharacters-Parameter annimmt, und diesen Parameter auf true festlegen. Bei aktivierter Fehlererkennung löst eine Methode, die eine ungültige Zeichenfolge erkennt, eine ArgumentException-Ausnahme aus. Ohne Fehlererkennung wird keine Ausnahme ausgelöst, und die ungültige Sequenz wird meist ignoriert.

Im folgenden Codebeispiel wird das Verhalten von UTF32Encoding bei aktivierter und bei deaktivierter Fehlererkennung veranschaulicht.


using System;
using System.Text;

public class SamplesUTF32Encoding  {

   public static void Main()  {

      // Create an instance of UTF32Encoding using little-endian byte order.
      // This will be used for encoding.
      UTF32Encoding u32LE     = new UTF32Encoding( false, true );

      // Create two instances of UTF32Encoding using big-endian byte order: one with error detection and one without.
      // These will be used for decoding.
      UTF32Encoding u32withED = new UTF32Encoding( true, true, true );
      UTF32Encoding u32noED   = new UTF32Encoding( true, true, false );

      // Create byte arrays from the same string containing the following characters:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      String myStr = "za\u0306\u01FD\u03B2\uD8FF\uDCFF";

      // Encode the string using little-endian byte order.
      byte[] myBytes = new byte[u32LE.GetByteCount( myStr )];
      u32LE.GetBytes( myStr, 0, myStr.Length, myBytes, 0 );

      // Decode the byte array with error detection.
      Console.WriteLine( "Decoding with error detection:" );
      PrintDecodedString( myBytes, u32withED );

      // Decode the byte array without error detection.
      Console.WriteLine( "Decoding without error detection:" );
      PrintDecodedString( myBytes, u32noED );

   }


   // Decode the bytes and display the string.
   public static void PrintDecodedString( byte[] bytes, Encoding enc )  {

      try  {
         Console.WriteLine( "   Decoded string: {0}", enc.GetString( bytes, 0, bytes.Length ) );
      }
      catch ( System.ArgumentException e )  {
         Console.WriteLine( e.ToString() );
      }

      Console.WriteLine();

   }

}



.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.