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

ReadOnlySpan<Byte>

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 zapewnić prefiks, który jest zakresem bajtów, które mogą być poprzedzone sekwencją bajtów wynikających z procesu kodowania. Wstępne przekształcanie sekwencji zakodowanych bajtów za pomocą znaku kolejności bajtów (punktów U+0000 U+FEFFkodu) 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 formacie szesnastkowym):

  • Kolejność bajtów big endian: 00 00 FE FF

  • Mała kolejność bajtów endian: FF FE 00 00

Wystąpienie obiektu, którego Preamble właściwość jest prawidłową modelem BOM, można utworzyć wystąpienie UTF32Encoding 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 UTF32Encoding obiektu, takie jak nieotagowane lub nieprawidłowo oznakowane dane internetowe, lub losowe pliki tekstowe przechowywane, gdy firma nie ma międzynarodowych problemów lub innych danych. Często można uniknąć problemów z użytkownikami, 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ć do ułatwienia serwerowi wysyłania poprawnego nagłówka kodowania. Alternatywnie można go użyć jako rezerwowego w przypadku utraty kodowania.

Istnieją pewne wady korzystania z 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 znajdować 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żne

Aby upewnić się, że zakodowane bajty są prawidłowo dekodowane, należy prefiks zakodowany bajty z prefiksem. Należy pamiętać, że GetBytes metoda nie poprzedza modelu BOM sekwencją zakodowanych bajtów. Dostarczanie modelu BOM na początku odpowiedniego strumienia bajtów jest obowiązkiem dewelopera.

Dotyczy