Encoding.Preamble Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе возвращает диапазон, содержащий последовательность байтов, указывающую используемую кодировку.
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)
Значение свойства
Диапазон байтов, содержащий последовательность байтов, указывающий используемую кодировку или диапазон длины нулю, если не требуется преамблирование.
Комментарии
Encoding При необходимости объект предоставляет преамблирование, которое является последовательностью байтов, которые можно префиксировать в байты, полученные из процесса кодирования. Если преамблирование содержит метку порядка байтов (в Юникоде, кодовая точка U+FEFF), она помогает декодировщику определить порядок байтов и формат преобразования или UTF.
Метка порядка байтов Юникода сериализуется следующим образом (в шестнадцатеричном формате):
UTF-8: EF BB BF
Порядок байтов большого байта UTF-16: FE FF
УTF-16 маленький байтовый порядок байтов: FF FE
Порядок байтов большого байта UTF-32: 00 00 FE FF
Маленький байтовый порядок байтов UTF-32: FF FE 00 00
Следует использовать BOM, так как он обеспечивает почти определенную идентификацию кодировки для файлов, которые в противном случае потеряли ссылку на Encoding объект, например без тегов или неправильно помеченных веб-данных или случайных текстовых файлов, хранящихся, когда у бизнеса нет международных проблем или других данных. Часто проблемы с пользователем могут избежать, если данные последовательно и правильно помечены, предпочтительно в UTF-8 или UTF-16.
Для стандартов, предоставляющих тип кодирования, BOM является несколько избыточным. Однако его можно использовать для отправки правильного заголовка кодировки на сервере. Кроме того, его можно использовать в качестве резервного варианта, если кодировка в противном случае потеряна.
Существует ряд недостатков использования BOM. Например, зная, как ограничить поля базы данных, использующие BOM, может быть сложной задачей. Объединение файлов может быть проблемой, например, когда файлы объединяются таким образом, что ненужный символ может оказаться в середине данных. Несмотря на некоторые недостатки, однако, использование BOM настоятельно рекомендуется.
Дополнительные сведения о порядке байтов и отметке порядка байтов см. в разделе "Стандартный юникод" на домашней странице юникода .
Предостережение
Чтобы убедиться, что кодированные байты декодированы должным образом, необходимо закодировать префикс байтов с префиксом. Однако большинство кодировок не предоставляют предварительной версии. Чтобы убедиться, что кодированные байты декодированы должным образом, следует использовать кодировку Юникода, тUTF8EncodingUnicodeEncoding. е. или UTF32Encodingс преамблированием.