Encoding.Preamble Właściwość

Definicja

W przypadku przesłonięć w klasie pochodnej funkcja zwraca zakres zawierający sekwencję bajtów określającą używane kodowanie.

public:
 virtual property ReadOnlySpan<System::Byte> Preamble { ReadOnlySpan<System::Byte> get(); };
public virtual ReadOnlySpan<byte> Preamble { get; }
member this.Preamble : ReadOnlySpan<byte>
Public Overridable ReadOnly Property Preamble As ReadOnlySpan(Of Byte)

Wartość właściwości

ReadOnlySpan<Byte>

Zakres bajtów zawierający sekwencję bajtów, która określa używane kodowanie, lub zakres o długości 0, jeśli nie jest wymagane.

Uwagi

Opcjonalnie obiekt udostępnia element , który jest sekwencją bajtów, które mogą być poprzedzone bajtami wynikłymi Encoding z procesu kodowania. Jeśli nagłośnik zawiera znak kolejności bajtów (w unicode, punkcie kodu U+FEFF), pomaga dekoderowi określić kolejność bajtów i format przekształcenia lub UTF.

Znak kolejności bajtów Unicode (BOM) jest serializowany w następujący sposób (w postaci szesnastkowo):

  • UTF-8: EF BB BF

  • Kolejność bajtów big endian UTF-16: FE FF

  • Kolejność bajtów little endian UTF-16: FF FE

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

  • Kolejność bajtów little endian UTF-32: FF FE 00 00

Należy użyć bom, ponieważ zapewnia niemal pewną identyfikację kodowania plików, które w przeciwnym razie utraciły odwołanie do obiektu, na przykład nieotagowane lub nieprawidłowo oznakowane dane internetowe lub losowe pliki tekstowe przechowywane, gdy firma nie miała międzynarodowych problemów lub innych Encoding danych. Często można uniknąć problemów użytkownika, jeśli dane są stale i prawidłowo oznaczane, najlepiej w utf-8 lub UTF-16.

W przypadku standardów, które zapewniają typ kodowania, bom jest nieco nadmiarowy. Może on jednak pomóc serwerowi w wysyłaniu poprawnego nagłówka kodowania. Alternatywnie można go użyć jako rezerwy w przypadku, gdy kodowanie zostanie utracone.

Istnieją pewne wady używania bom. Na przykład wiedza o tym, jak ograniczyć pola bazy danych, które korzystają z 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 znaleźć się w środku danych. Mimo kilku wad zdecydowanie zaleca się użycie funkcji boM.

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.

Przestroga

Aby upewnić się, że zakodowane bajty są prawidłowo zdekodowane, należy poprzeżać zakodowane bajty prefiksem. Jednak większość kodowań nie zapewnia nic. Aby upewnić się, że zakodowane bajty są prawidłowo zdekodowane, należy użyć kodowania Unicode, czyli UTF8Encoding , lub , z UnicodeEncoding UTF32Encoding cyka.

Dotyczy