UnicodeEncoding.Preamble Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft eine Unicode-Bytereihenfolgemarkierung im UTF-16-Format ab, wenn dieses Objekt entsprechend konfiguriert ist.
public:
virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public override ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overrides ReadOnly Property Preamble As ReadOnlySpan(Of Byte)
Eigenschaftswert
Ein Bytebereich, der das Unicode-Bytereihenfolgenzeichen enthält, wenn dieses Objekt so konfiguriert ist, dass eine angegeben wird; andernfalls wird der Standardbereich festgelegt.
Hinweise
Das UnicodeEncoding Objekt kann eine Präamble bereitstellen, die ein Bytebereich ist, der der Sequenz von Bytes, die aus dem Codierungsprozess resultieren, vorgelöst werden kann. Durch das Vorfacieren einer Sequenz codierter Bytes mit einem Bytereihenfolgezeichen (Codepunkt U+FEFF
) kann der Decoder die Bytereihenfolge und das Transformationsformat oder UTF bestimmen. Die Unicode-Byte Reihenfolge Markierung (BOM) wird wie folgt serialisiert (in Hexadezimal):
Groß-Endian-Bytereihenfolge:
FE FF
Klein-Endian-Bytereihenfolge:
FF FE
Sie können ein UnicodeEncoding Objekt instanziieren, dessen Preamble gültige BOM auf folgende Weise gültig ist:
Durch Abrufen des UnicodeEncoding von der Encoding.Unicode Encoding.BigEndianUnicode Eigenschaft zurückgegebenen Objekts.
Durch Aufrufen des parameterlosen Konstruktors zum Instanziieren UnicodeEncoding() eines UnicodeEncoding Objekts.
Durch Angeben
true
des Werts desbyteOrderMark
Arguments an die UnicodeEncoding(Boolean, Boolean) oder UnicodeEncoding(Boolean, Boolean, Boolean) Konstruktoren.
Wir empfehlen, dass Sie das BOM verwenden, da es fast bestimmte Identifizierung einer Codierung für Dateien bereitstellt, die andernfalls einen Verweis auf ihre Codierung verloren haben, z. B. nicht markierte oder falsch markierte Webdaten oder zufällige Textdateien, die gespeichert wurden, wenn ein Unternehmen keine internationalen Bedenken hat. Häufig werden Benutzerprobleme vermieden, wenn Daten konsistent und ordnungsgemäß gekennzeichnet sind.
Bei Standards, die einen Codierungstyp bereitstellen, ist eine BOM etwas redundant. Sie kann jedoch verwendet werden, um einem Server zu helfen, den richtigen Codierungs Header zu senden. Alternativ kann es als Fall Back für den Fall verwendet werden, dass die Codierung andernfalls verloren geht.
Es gibt einige Nachteile bei der Verwendung einer BOM. Beispielsweise kann das Einschränken der Datenbankfelder, die eine BOM verwenden, schwierig sein. Die Verkettung von Dateien kann auch ein Problem darstellen, z. b. wenn Dateien so zusammengeführt werden, dass ein unnötiges Zeichen in der Mitte der Daten enden kann. Trotz der wenigen Nachteile wird die Verwendung einer BOM dringend empfohlen.
Wichtig
Um sicherzustellen, dass die codierten Bytes ordnungsgemäß dekodiert werden, sollten Sie den Anfang eines Datenstroms von codierten Bytes mit einer Präamble präfixieren. Beachten Sie, dass die GetBytes Methode keine BOM an eine Sequenz codierter Bytes vorgibt; die Bereitstellung eines BOM am Anfang eines entsprechenden Bytestroms ist die Verantwortung des Entwicklers.