все 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Сообщить о неточности