Python Glossary English

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

codecs.BOM_UTF16_LE

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

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

Синтаксис

codecs.BOM_UTF16_LE  # b'\xff\xfe'

Кодек 'utf-16-le' сам BOM не пишет и не убирает — он для протоколов, где порядок задан заранее; 'utf-16' пишет BOM и по нему определяет порядок при чтении. Эти же два байта стоят в начале BOM_UTF32_LE, поэтому, распознавая кодировку по началу файла, проверяют сначала UTF-32, а потом UTF-16. codecs.BOM_LE и устаревшее BOM32_LE — другие имена этого же объекта.

Примеры

import codecs
print(codecs.BOM_UTF16_LE, codecs.BOM_LE is codecs.BOM_UTF16_LE)  # → b'\xff\xfe' True
print('hi'.encode('utf-16-le').startswith(codecs.BOM_UTF16_LE))  # → False
print(codecs.BOM_UTF32_LE.startswith(codecs.BOM_UTF16_LE))  # → True

См. также

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