Encoding.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.
Wenn eine abgeleitete Klasse überschrieben wird, wird eine Spanne zurückgegeben, die die Sequenz von Bytes enthält, die die verwendete Codierung angibt.
public:
virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public virtual ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overridable ReadOnly Property Preamble As ReadOnlySpan(Of Byte)
Eigenschaftswert
Eine Bytespanne, die eine Folge von Bytes enthält, die die verwendete Codierung angibt, oder eine Spanne der Länge Null, wenn kein Präambel erforderlich ist.
Hinweise
Optional stellt das Encoding Objekt eine Präambel bereit, bei der es sich um eine Abfolge von Bytes handelt, die den Bytes vorangestellt werden können, die sich aus dem Codierungsprozess ergeben. Wenn das Präambel eine Bytereihenfolgemarke (in Unicode, Codepunkt U+FEFF) enthält, hilft es dem Decoder, die Bytereihenfolge und das Transformationsformat oder UTF zu bestimmen.
Das Unicode-Bytereihenfolgezeichen (BOM) wird wie folgt serialisiert (hexadezimal):
UTF-8: EF BB BF
UTF-16 big endian byte order: FE FF
UTF-16 little endian byte order: FF FE
UTF-32 big endian byte order: 00 00 FE FF
UTF-32 little endian byte order: FF FE 00 00
Sie sollten die BOM verwenden, da sie nahezu bestimmte Identifizierung einer Codierung für Dateien bereitstellt, die andernfalls einen Verweis auf das Encoding Objekt verloren haben, z. B. nicht markierte oder nicht ordnungsgemäß markierte Webdaten oder zufällige Textdateien, die gespeichert wurden, wenn ein Unternehmen keine internationalen Bedenken oder andere Daten hatte. Häufig können Benutzerprobleme vermieden werden, wenn Daten konsistent und ordnungsgemäß markiert sind, vorzugsweise in UTF-8 oder UTF-16.
Für Standards, die einen Codierungstyp bereitstellen, ist eine BOM etwas redundant. Es kann jedoch verwendet werden, um einem Server zu helfen, den richtigen Codierungsheader zu senden. Alternativ kann sie als Fallback verwendet werden, falls die Codierung andernfalls verloren geht.
Es gibt einige Nachteile bei der Verwendung einer BOM. Beispielsweise kann es schwierig sein, die Datenbankfelder zu beschränken, die eine BOM verwenden. Die Verkettung von Dateien kann beispielsweise auch ein Problem sein, 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 jedoch dringend empfohlen.
Weitere Informationen zur Bytereihenfolge und zum Bytereihenfolgezeichen finden Sie im Unicode-Standard auf der Unicode-Startseite.
Vorsicht
Um sicherzustellen, dass die codierten Bytes ordnungsgemäß decodiert werden, sollten Sie mit einem Präambel codierte Bytes voranstellen. Die meisten Codierungen bieten jedoch keine Präambel. Um sicherzustellen, dass die codierten Bytes ordnungsgemäß decodiert werden, sollten Sie eine Unicode-Codierung verwenden, d. h. mit UTF8EncodingUnicodeEncodingUTF32Encodingeinem Präambel.