Поделиться через


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. Метка порядка байтов Юникода сериализуется следующим образом (в шестнадцатеричном формате):

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

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

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

  • Извлекая объект UTF32Encoding, возвращаемый свойством Encoding.UTF32.

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

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

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

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

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

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

Важный

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

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