все Python 3codecsпонятие
encodings
модуль
Пакет кодеков: в нём лежат реализации всех встроенных кодировок, которые находят str.encode, bytes.decode и open(encoding=...).
Синтаксис
import encodings
encodings напрямую импортируют редко: это хранилище кодеков вроде encodings.utf_8 и encodings.cp1251, а работает с ними модуль codecs и встроенные encode/decode. Подмодули с особым поведением — encodings.idna для доменных имён и encodings.utf_8_sig, который снимает метку BOM. Имя кодировки нормализуется, поэтому 'UTF-8', 'utf8' и 'utf_8' — один кодек.
Примеры
import encodings, codecs
print(encodings.normalize_encoding('UTF-8 sig')) # → UTF_8_sig
print(codecs.lookup('utf8').name) # → utf-8
print('я'.encode('utf_8_sig')) # → b'\xef\xbb\xbf\xd1\x8f'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности