UTF32Encoding.Preamble Свойство

Определение

Возвращает метку порядка байтов Юникода в кодировке UTF-32, если объект настроен для ее предоставления.

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)

Значение свойства

Диапазон байтов, содержащий метку порядка байтов в Юникоде, если этот объект настроен для его предоставления; В противном случае — диапазон по умолчанию.

Комментарии

Объект UTF32Encoding может предоставить заготовку, которая представляет собой диапазон байтов, который может быть префиксирован к последовательности байтов, полученных в результате процесса кодирования. Предварительная последовательность закодированных байтов с меткой порядка байтов (кодовые точки U+0000U+FEFF) помогает декодеру определить порядок байтов и формат преобразования или UTF. Метка порядка байтов Юникода (BOM) сериализуется следующим образом (в шестнадцатеричном формате):

  • Большой порядок байтов: 00 00 FE FF

  • Маленький порядок байтов: FF FE 00 00

Вы можете создать экземпляр объекта, UTF32Encoding свойство которого Preamble является допустимым объектом BOM, следующими способами:

  • Путем получения объекта, UTF32Encoding возвращаемого свойством Encoding.UTF32 .

  • Путем вызова конструктора без UTF32Encoding() параметров для создания экземпляра UTF32Encoding объекта .

  • Путем предоставления true в качестве значения аргумента byteOrderMark конструкторам UTF32Encoding и UTF32Encoding .

Мы рекомендуем использовать метку BOM, так как она обеспечивает почти определенную идентификацию кодировки для файлов, которые в противном случае потеряли ссылку UTF32Encoding на объект, таких как веб-данные без тегов или неправильно помеченные веб-данные или случайные текстовые файлы, хранящиеся, когда у компании не было международных проблем или других данных. Часто проблемы с пользователем можно избежать, если данные последовательно и правильно помечены тегами.

Для стандартов, предоставляющих тип кодировки, BOM является несколько избыточным. Однако его можно использовать, чтобы помочь серверу отправить правильный заголовок кодировки. Кроме того, его можно использовать в качестве резервного, если кодировка в противном случае будет потеряна.

Существует ряд недостатков использования спецификации. Например, знание того, как ограничить поля базы данных, использующие СПЕЦИФИКАЦИю, может оказаться затруднительным. Объединение файлов может быть проблемой, например, при слиянии файлов таким образом, что ненужный символ может оказаться в середине данных. Несмотря на множество недостатков, настоятельно рекомендуется использовать СПЕЦИФИКАЦИю.

Дополнительные сведения о порядке байтов и метке порядка байтов см. в стандарте Юникода на домашней странице Юникода.

Важно!

Чтобы обеспечить правильную декодирование закодированных байтов, следует добавить в байты префикс в формате преамбулы. Обратите внимание, что GetBytes метод не добавляет BOM к последовательности закодированных байтов. За предоставление BOM в начале соответствующего потока байтов отвечает разработчик.

Применяется к