Вероятно, самым заметным отличием Python 2 от Python 3 является юникод. Это нововведение упростило работу со строками. Однако, так как Python 2 еще в строю, то кодировки еще в силе и не мало разработчиков путается между encode и decode.

Стоит привести картинку, которая прояснит все:

Image

Таким образом, если у нас есть строка:

a = 'Cool page'

То существует множество способов (кодировок) представить ее в байтовом виде

Поэтому мы и пишем:

a.encode('<название кодировки>') # переводим строку байтовый вид

И обратно. Если у нас есть набор байт, то чтобы получить строку пишем:

b'<байт-строка>'.decode('<название кодировки>') # получаем из байтовой строки настоящую строку

Подробнее:



Комментарии