все Python 3Строки (str)функция
str.encode
кодировки
Кодирует строку в байты по указанной кодировке (по умолчанию UTF-8).
Синтаксис
s.encode(encoding='utf-8', errors='strict')
encode() отдаёт bytes — это другой тип: сложить его со строкой нельзя, а len считает байты, а не символы (в UTF-8 'café' — пять байт). Всё, что не помещается в выбранную кодировку, при errors='strict' даёт UnicodeEncodeError; 'ignore' и 'replace' глушат ошибку ценой безвозвратно потерянных символов. Обратно разворачивается через bytes.decode() с той же самой кодировкой — угадать её по содержимому нельзя.
Примеры
print('abc'.encode()) # → b'abc'
print('café'.encode('utf-8')) # → b'caf\xc3\xa9'
print('hi'.encode('ascii')) # → b'hi'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности