Python Glossary English

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