anUnicode. encode ('encoding') приводит к объекту string и может вызываться для объекта unicode
aString. decode ('encoding') приводит к объекту unicode и может вызываться в строке, закодированной в данной кодировке.
Еще несколько объяснений:
Вы можете создать какой-нибудь объект в кодировке Юникод, для которого не задана какая-либо кодировка. То, как он хранится в памяти Python, не имеет значения. Вы можете искать его, разбивать его и вызывать любые функции, которые вам нравятся.
Но наступает момент, когда вы хотите распечатать объект Unicode на консоли или в каком-либо текстовом файле. Таким образом, вы должны кодировать его (например, в UTF-8), вы вызываете кодирование ('utf-8') и вы получаете строку с '\ u ' внутри, что совершенно версия для печати.
Затем, опять же - вы хотели бы сделать обратное - прочитать строку, закодированную в UTF-8, и трактовать ее как Unicode, так что \ u360 будет одним символом, а не 5. Тогда вы декодируете строка (с выбранной кодировкой) и получение нового объекта типа Unicode.
Так же, как примечание - вы можете выбрать некоторую извращенную кодировку, такую как 'zip', 'base64', 'rot', и некоторые из них будут конвертировать из строки в строку, но я считаю, что наиболее распространенным случаем является тот, который включает UTF-8 / UTF-16 и строка.