Udostępnij za pośrednictwem


UTF32Encoding.Preamble Właściwość

Definicja

Pobiera znak 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; w przeciwnym razie domyślny zakres.

Uwagi

UTF32Encoding Obiekt może zapewnić preambułę, która jest zakresem bajtów, które mogą być poprzedzone sekwencją bajtów wynikających z procesu kodowania. Prefakcjonowanie sekwencji zakodowanych bajtów przy użyciu znaku kolejności bajtów (punktów U+0000U+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 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ą BOM, można utworzyć 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, takiego jak nieotagowane lub nieprawidłowo oznakowane dane internetowe lub losowe pliki tekstowe przechowywane, gdy firma nie miała międzynarodowych problemów ani innych danych. Często problemy użytkowników mogą być unikane, jeśli dane są spójnie 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 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, aby niepotrzebny znak mógł znajdować się w środku danych. Pomimo kilku wad, jednak stosowanie modelu BOM jest zdecydowanie zalecane.

Aby uzyskać więcej informacji na temat kolejności bajtów i znaku zamówienia 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 preambułą. Należy pamiętać, że GetBytes metoda nie poprzedza obiektu BOM sekwencją zakodowanych bajtów; dostarczanie obiektu BOM na początku odpowiedniego strumienia bajtów jest obowiązkiem dewelopera.

Dotyczy