UnicodeEncoding.Preamble Свойство

Определение

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

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)

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

ReadOnlySpan<Byte>

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

Комментарии

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

  • Порядок байтов большого байта: FE FF

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

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

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

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

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

Важно!

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

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