Udostępnij za pośrednictwem


UTF32Encoding.Preamble Właściwość

Definicja

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+0000U+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:

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.

Dotyczy