Кодирует строку в байты/байтстроку, используя зарегистрированный кодек.
Прототип
str.encode([encoding[, errors]])
Параметры
encoding -- Название кодировки. По умолчанию — системная кодировка, доступная из sys.getdefaultencoding().

+py2.3 errors='strict' -- Наименование схемы обработки ошибок. По умолчанию — 'strict'.
Результат
bytes в Python 3 / str в Python 2
Описание
Начиная c +py2.7 параметры могут быть заданы при помощи именованных аргументов.

На заметку
Имена доступных кодировок лучше всего узнавать из документации к модулю codecs.

    from sys import getdefaultencoding

# Python 3 ====================

getdefaultencoding() # utf-8

my_string = 'кот cat'

type(my_string) # str

my_string.encode()
# b'\xd0\xba\xd0\xbe\xd1\x82 cat'

my_string.encode('ascii')
# UnicodeDecodeError

my_string.encode('ascii', errors='ignore')
# b' cat'

my_string.encode('ascii', errors='replace')
# b'??? cat'

my_string.encode('ascii', errors='xmlcharrefreplace')
# b'кот cat'

my_string.encode('ascii', errors='backslashreplace')
# b'\\u043a\\u043e\\u0442 cat'

my_string.encode('ascii', errors='namereplace')
# b'\\N{CYRILLIC SMALL LETTER KA}\\N{CYRILLIC SMALL LETTER O}\\N{CYRILLIC SMALL LETTER TE} cat'

surrogated = '\udcd0\udcba\udcd0\udcbe\udcd1\udc82 cat'

surrogated.encode()
# UnicodeEncodeError

surrogated.encode(errors='surrogateescape')
# b'\xd0\xba\xd0\xbe\xd1\x82 cat'

surrogated.encode(errors='surrogatepass')
# b'\xed\xb3\x90\xed\xb2\xba\xed\xb3\x90\xed\xb2\xbe\xed\xb3\x91\xed\xb2\x82 cat'


# Python 2 ====================

getdefaultencoding() # ascii


my_string = 'кот cat'.decode('utf-8')

type(my_string) # unicode

my_string.encode()
# UnicodeDecodeError

my_string.encode(errors='ignore')
# u' cat'

my_string.encode(errors='replace')
# u'??? cat'

my_string.encode('utf-8')
# '\xd0\xba\xd0\xbe\xd1\x82 cat'

my_string.encode(errors='xmlcharrefreplace')
# 'кот cat'

my_string.encode(errors='backslashreplace')
# '\\u043a\\u043e\\u0442 cat'

Схемы обработки ошибок

Схемы различаются между собой тем, что будет происходить при обнаружении в докодируемой строке неподдерживаемых кодировкой символов.

Имя Что происходит
strictВозбуждается UnicodeError (или наследника).
ignoreСимволы пропускаются.
replaceСимволы заменяются на U+FFFD (REPLACEMENT CHARACTER).
+py2.3xmlcharrefreplaceСимволы заменяются на соответствующее им XML-представление.
+py2.3backslashreplaceСимволы заменяются на последовательности, начинающиеся с обратной косой черты (слеша).
+py3.5namereplaceСимволы заменяются на последовательности вида \N{...}.
+py3.1surrogateescapeЗаменяет каждый байт на код суррогата (от U+DC80 до U+DCFF).
+py3.1surrogatepassИгнорирует в строке коды суррогатов. Используется со следующими кодеками: utf-8, а также начиная с +py3.4 utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le.

Зарегистрировать новую схему можно при помощи codecs.register_error().

Нет обсуждений для отображения.
Если у вас есть, что сказать, можете представиться и исправить ситуацию.