Python Glossary English

все Python 3codecsпонятие

codecs.BOM_UTF16_BE

метки порядка байтов (BOM)

Байты b'\xfe\xff' — метка порядка байтов UTF-16 big-endian. Тот же объект доступен как codecs.BOM_BE.

Синтаксис

codecs.BOM_UTF16_BE  # b'\xfe\xff'

Встречается реже LE, потому что x86 и ARM работают в little-endian, но сетевые форматы и Java порой пишут UTF-16 BE. Декодер 'utf-16' по этому BOM сам выберет порядок и уберёт метку, а 'utf-16-be' оставит её в тексте символом '\ufeff'. codecs.BOM_BE и устаревшее BOM32_BE — другие имена этого объекта.

Примеры

import codecs
data = codecs.BOM_UTF16_BE + 'hi'.encode('utf-16-be')
print(data.decode('utf-16'))  # → hi
print(repr(data.decode('utf-16-be')))  # → '\ufeffhi'
print(codecs.BOM_BE is codecs.BOM_UTF16_BE)  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности