UTF32Encoding.Preamble Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera znacznik kolejności bajtów Unicode zakodowany w formacie UTF-32, jeśli ten obiekt jest skonfigurowany do podawania.
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)
Wartość właściwości
Zakres bajtów zawierający znacznik kolejności bajtów Unicode, jeśli ten obiekt jest skonfigurowany do podawania jednego; w przeciwnym razie domyślny zakres.
Uwagi
Obiekt UTF32Encoding może stanowić preambułę, która jest zakresem bajtów, które mogą być poprzedzone sekwencją bajtów wynikających z procesu kodowania. Wstępne tworzenie sekwencji zakodowanych bajtów przy użyciu znaku kolejności bajtów (punktów kodu U+0000
U+FEFF
) pomaga dekoderowi określić kolejność bajtów i format transformacji lub UTF. Znak kolejności bajtów Unicode (BOM) jest serializowany w następujący sposób (w szesnastkowym):
Kolejność bajtów big endian:
00 00 FE FF
Mała kolejność bajtów endian:
FF FE 00 00
Wystąpienie obiektu UTF32Encoding, którego właściwość Preamble jest prawidłową właściwością BOM, można utworzyć w następujący sposób:
Po pobraniu obiektu UTF32Encoding zwróconego przez właściwość Encoding.UTF32.
Wywołując konstruktor UTF32Encoding() bez parametrów w celu utworzenia wystąpienia obiektu UTF32Encoding.
Podając
true
jako wartość argumentubyteOrderMark
konstruktorom UTF32Encoding i UTF32Encoding.
Zalecamy użycie modelu BOM, ponieważ zapewnia niemal pewną identyfikację kodowania plików, które w przeciwnym razie utraciły odwołanie do obiektu UTF32Encoding, takiego jak nieotagowane lub nieprawidłowo oznakowane dane internetowe, lub losowe pliki tekstowe przechowywane, gdy firma nie ma międzynarodowych obaw lub innych danych. Często problemy użytkowników mogą być unikane, jeśli dane są stale i prawidłowo oznakowane.
W przypadku standardów zapewniających typ kodowania model BOM jest nieco nadmiarowy. Można go jednak użyć, aby ułatwić serwerowi wysyłanie poprawnego nagłówka kodowania. Alternatywnie można go użyć jako rezerwowego w przypadku utraty kodowania.
Istnieją pewne wady używania modelu BOM. Na przykład wiedza na temat ograniczania pól bazy danych korzystających z modelu BOM może być trudna. Łączenie plików może być również problemem, na przykład gdy pliki są scalane w taki sposób, że niepotrzebny znak może skończyć się w środku danych. Pomimo kilku wad, stosowanie modelu BOM jest jednak zdecydowanie zalecane.
Aby uzyskać więcej informacji na temat kolejności bajtów i znacznika kolejności bajtów, zobacz Standard Unicode na stronie głównej Unicode.
Ważny
Aby upewnić się, że zakodowane bajty są prawidłowo dekodowane, należy prefiks zakodowany bajty z preambuły. Należy pamiętać, że metoda GetBytes nie poprzedza modelu BOM sekwencją zakodowanych bajtów; dostarczanie modelu BOM na początku odpowiedniego strumienia bajtów jest obowiązkiem dewelopera.