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


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 Указав в качестве значения аргумента byteOrderMarkUTF32Encoding конструктора и UTF32Encoding конструктора.

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

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

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

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

Важный

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

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