UnicodeEncoding.Preamble Свойство

Определение

Возвращает метку порядка байтов Юникода в кодировке UTF-16, если объект настроен для ее предоставления.Gets a Unicode byte order mark encoded in UTF-16 format, if this object is configured to supply one.

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)

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

Диапазон байтов, содержащий метку порядка байтов Юникода, если этот объект настроен для предоставления такого объекта; в противном случае — диапазон по умолчанию.A byte span containing the Unicode byte order mark, if this object is configured to supply one; otherwise, the default span.

Комментарии

Объект UnicodeEncoding может предоставить преамбулу, которая представляет собой диапазон байтов, который может быть добавлен в начало последовательности байтов, полученной в результате процесса кодирования.The UnicodeEncoding object can provide a preamble, which is a byte span that can be prepended to the sequence of bytes resulting from the encoding process. Предустановление последовательности закодированных байтов с отметкой порядка байтов (кодовая точка U+FEFF) позволяет декодеру определить порядок байтов и формат преобразования или кодировку UTF.Prefacing a sequence of encoded bytes with a byte order mark (code point U+FEFF) helps the decoder determine the byte order and the transformation format or UTF. Метка порядка байтов Юникода (BOM) сериализуется следующим образом (в шестнадцатеричном формате):The Unicode byte order mark (BOM) is serialized as follows (in hexadecimal):

  • Порядок байт с обратным порядком байтов: FE FFBig endian byte order: FE FF

  • Прямой порядок байтов: FF FELittle endian byte order: FF FE

Можно создать экземпляр объекта UnicodeEncoding, Preamble которого является допустимым BOM, следующими способами.You can instantiate a UnicodeEncoding object whose Preamble is a valid BOM in the following ways:

Мы рекомендуем использовать СПЕЦИФИКАЦИю, так как она обеспечивает почти определенную идентификацию кодировки для файлов, которые в противном случае теряют ссылку на их кодировку, такую как непомеченные или неправильно помеченные веб-данные или случайные текстовые файлы, хранящиеся, если у бизнеса нет международные проблемы.We recommended that you use the BOM, since it provides nearly certain identification of an encoding for files that otherwise have lost a reference to their encoding, such as untagged or improperly tagged web data or random text files stored when a business did not have international concerns. Часто проблемы пользователей могут быть устранены, если данные постоянно и правильно помечены тегами.Often user problems might be avoided if data is consistently and properly tagged.

Для стандартов, предоставляющих тип кодировки, BOM является несколько избыточным.For standards that provide an encoding type, a BOM is somewhat redundant. Однако его можно использовать, чтобы помочь серверу отправить правильный заголовок кодировки.However, it can be used to help a server send the correct encoding header. Кроме того, его можно использовать в качестве резервного, если кодировка в противном случае будет потеряна.Alternatively, it can be used as a fallback in case the encoding is otherwise lost.

Существует ряд недостатков использования спецификации.There are some disadvantages to using a BOM. Например, знание того, как ограничить поля базы данных, использующие СПЕЦИФИКАЦИю, может оказаться затруднительным.For example, knowing how to limit the database fields that use a BOM can be difficult. Объединение файлов может быть проблемой, например, при слиянии файлов таким образом, что ненужный символ может оказаться в середине данных.Concatenation of files can be a problem also, for example, when files are merged in such a way that an unnecessary character can end up in the middle of data. Несмотря на множество недостатков, настоятельно рекомендуется использовать СПЕЦИФИКАЦИю.In spite of the few disadvantages, however, the use of a BOM is highly recommended.

Важно!

Чтобы обеспечить правильную декодирование закодированных байтов, следует добавить в начало потока закодированных байтов префикс в виде преамбулы.To ensure that the encoded bytes are decoded properly, you should prefix the beginning of a stream of encoded bytes with a preamble. Обратите внимание, что метод GetBytes не добавляет СПЕЦИФИКАЦИю к последовательности закодированных байтов; предоставление спецификации в начале соответствующего потока байтов является обязанностью разработчика.Note that the GetBytes method does not prepend a BOM to a sequence of encoded bytes; supplying a BOM at the beginning of an appropriate byte stream is the developer's responsibility.

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