Sdílet prostřednictvím


UTF8Encoding.Preamble Vlastnost

Definice

Získá znak pořadí pořadí bajtů Unicode kódovaný ve formátu UTF-8, pokud je tento objekt nakonfigurován tak, aby jeden.

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)

Hodnota vlastnosti

ReadOnlySpan<Byte>

Bajtové rozpětí obsahující značku pořadí bajtů Unicode, pokud je tento objekt nakonfigurován tak, aby jeden z nich byl zadán; jinak výchozí rozsah.

Poznámky

Objekt UTF8Encoding může poskytnout předponu bajtů, což je rozsah bajtů, který může být předponou posloupnosti bajtů, které jsou výsledkem procesu kódování. Prefacing sekvence kódovaných bajtů pomocí bajtů pořadí (bod U+FEFFkódu) pomáhá dekodér určit pořadí bajtů a formát transformace nebo UTF. Značka pořadí bajtů Unicode (BOM) je serializována jako 0xEF 0xBB 0xBF. Všimněte si, že standard Unicode nevyžaduje ani nedoporučuje použití BOM pro streamy kódování UTF-8.

Vytvořit instanci objektu UTF8Encoding , jehož Preamble je platným kusovníkem, můžete vytvořit následujícími způsoby:

  • Načtením objektu UTF8Encoding vráceného Encoding.UTF8 vlastností.

  • Zavoláním konstruktoru UTF8Encoding s parametrem encoderShouldEmitUTF8Identifier a nastavením jeho hodnoty nastavenou na true.

Všechny ostatní UTF8Encoding objekty jsou nakonfigurovány tak, aby vracely výchozí rozsah místo platného kusovníku.

BoM poskytuje téměř určitou identifikaci kódování pro soubory, které jinak ztratily odkaz na jejich kódování, například neoznačené nebo nesprávně označené webové data nebo náhodné textové soubory uložené v případě, že firma neměla mezinárodní obavy. Problémy uživatelů se často můžou vyhnout, pokud jsou data konzistentně a správně označená.

Pro standardy, které poskytují typ kódování, je boM poněkud redundantní. Dá se ale použít k tomu, aby server odeslal správnou hlavičku kódování. Alternativně se dá použít jako záložní v případě, že je kódování jinak ztraceno.

Používání kusovníku má určité nevýhody. Znalost omezení databázových polí, která používají kusovník, může být například obtížné. Zřetězení souborů může být také problém, například když jsou soubory sloučeny tak, aby nepotřebný znak mohl skončit uprostřed dat. I přes několik nevýhod se však důrazně doporučuje použití kusovníku.

Další informace o pořadí bajtů a znaménku pořadí bajtů naleznete v kódu Unicode Standard na domovské stránce Unicode.

Důležité

Abyste měli jistotu, že jsou kódované bajty správně dekódovány, když jsou uloženy jako soubor nebo stream, můžete předponu začátku streamu kódovaných bajtů předponou s predikcí. Všimněte si, že GetBytes metoda nepředkládá kusovník na sekvenci kódovaných bajtů; poskytnutí kusovníku na začátku příslušného bajtového streamu je zodpovědností vývojáře.

Platí pro