все Python 3codecsпонятие
codecs.BOM_UTF32
метки порядка байтов (BOM)
BOM UTF-32 в родном порядке байтов машины: на x86 и ARM это BOM_UTF32_LE. Его пишет кодек 'utf-32' в начало вывода.
Синтаксис
codecs.BOM_UTF32 # b'\xff\xfe\x00\x00' на little-endian
Как и BOM_UTF16, значение зависит от машины, поэтому при распознавании файлов сравнивают с BOM_UTF32_LE и BOM_UTF32_BE явно. Кодек 'utf-32' кладёт метку в каждый вызов encode: две строки, закодированные отдельно и склеенные, дадут вторую метку посреди данных — она прочитается как символ '\ufeff'.
Примеры
import codecs
data = 'a'.encode('utf-32') + 'b'.encode('utf-32')
print(data.startswith(codecs.BOM_UTF32)) # → True
print(repr(data.decode('utf-32'))) # → 'a\ufeffb'
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности