Encoding.Preamble Tulajdonság

Definíció

Ha egy származtatott osztályban felülbírált, a használt kódolást meghatározó bájtok sorozatát tartalmazó spant ad vissza.

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)

Tulajdonság értéke

Bájtsegéd, amely bájtok sorozatát tartalmazza, amely meghatározza a használt kódolást, vagy ha nincs szükség preambulumra, akkor a hossz nulla.

Megjegyzések

Az objektum opcionálisan egy preambulumot is biztosít, Encoding amely bájtok sorozata, amely a kódolási folyamatból eredő bájtok előtagja lehet. Ha a preambulum bájtsorrendjelet tartalmaz (Unicode-ban, kódpont U+FEFF formátumban), segít a dekódernek meghatározni a bájtsorrendet és az átalakítási formátumot vagy az UTF-et.

A Unicode byte order mark (BOM) szerializálva van az alábbiak szerint (hexadecimális):

  • UTF-8: EF BB BF

  • UTF-16 big endian bájtsorrend: FE FF

  • UTF-16 kis endian bájtsorrend: FF FE

  • UTF-32 big endian bájtsorrend: 00 00 FE FF

  • UTF-32 kis endian bájtsorrend: FF FE 00 00

A BOM-t érdemes használni, mert szinte biztos azonosítást biztosít az olyan fájlok kódolásához, amelyek egyébként nem hivatkoztak az Encoding objektumra, például címkézetlen vagy helytelenül címkézett webes adatok vagy véletlenszerű szöveges fájlok, amelyek akkor vannak tárolva, ha egy vállalat nem rendelkezik nemzetközi aggályokkal vagy más adatokkal. Gyakran elkerülhetők a felhasználói problémák, ha az adatok következetesen és megfelelően vannak címkézve, lehetőleg UTF-8 vagy UTF-16 formátumban.

A kódolási típust biztosító szabványok esetében a BOM némileg redundáns. Ezzel azonban segíthet a kiszolgálónak a megfelelő kódolási fejléc küldésében. Alternatív megoldásként tartalékként is használható, ha a kódolás egyébként elveszik.

A BOM használatának néhány hátránya van. Nehéz lehet például tudni, hogyan korlátozhatja az AJ-t használó adatbázismezőket. A fájlok összefűzése problémát jelenthet például a fájlok egyesítésekor oly módon, hogy egy szükségtelen karakter az adatok közepén végződjön. A kevés hátrány ellenére azonban erősen ajánlott az anyagjegyzék használata.

A bájtsorrendről és a bájtsorrendjelről további információt a Unicode Standard Unicode kezdőlapjántalál.

Figyelmeztetés

Annak érdekében, hogy a kódolt bájtok megfelelően legyenek dekódolva, előre kódolt bájtokat kell előtaggal ellátnia. A legtöbb kódolás azonban nem biztosít preambulumot. Annak érdekében, hogy a kódolt bájtok megfelelően legyenek dekódolva, unicode kódolást, azaz UTF8EncodingUnicodeEncodingUTF32Encodingpreambulumot kell használnia.

A következőre érvényes: