Python Строка encode() decode()

Python String encode()

Функция кодирования строки Python используется для кодирования строки с использованием указанной кодировки. Эта функция возвращает объект bytes. Если мы не предоставим кодировку, используется кодировка “utf-8” по умолчанию.

Python Bytes decode()

Функция декодирования байтов Python используется для преобразования байтов в объект строки. Обе эти функции позволяют указать схему обработки ошибок для ошибок кодирования/декодирования. По умолчанию установлено значение “strict”, что означает, что ошибки кодирования вызывают исключение UnicodeEncodeError. Некоторые другие возможные значения: “ignore”, “replace” и “xmlcharrefreplace”. Давайте рассмотрим простой пример функций кодирования и декодирования строк в Python.

str_original = 'Hello'

bytes_encoded = str_original.encode(encoding='utf-8')
print(type(bytes_encoded))

str_decoded = bytes_encoded.decode()
print(type(str_decoded))

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)

Вывод:

<class 'bytes'>
<class 'str'>
Encoded bytes = b'Hello'
Decoded String = Hello
str_original equals str_decoded = True

Приведенный выше пример не наглядно демонстрирует использование кодировки. Давайте рассмотрим еще один пример, в котором мы будем получать ввод от пользователя и затем кодировать его. Во входной строке, введенной пользователем, будут использованы некоторые специальные символы.

str_original = input('Please enter string data:\n')

bytes_encoded = str_original.encode()

str_decoded = bytes_encoded.decode()

print('Encoded bytes =', bytes_encoded)
print('Decoded String =', str_decoded)
print('str_original equals str_decoded =', str_original == str_decoded)

Вывод:

Please enter string data:
aåb∫cçd∂e´´´ƒg©1¡
Encoded bytes = b'a\xc3\xa5b\xe2\x88\xabc\xc3\xa7d\xe2\x88\x82e\xc2\xb4\xc2\xb4\xc2\xb4\xc6\x92g\xc2\xa91\xc2\xa1'
Decoded String = aåb∫cçd∂e´´´ƒg©1¡
str_original equals str_decoded = True

Вы можете проверить полный скрипт на Python и другие примеры на Python в нашем репозитории GitHub.

Ссылка: Документация по API str.encode(), Документация по API bytes.decode()

Source:
https://www.digitalocean.com/community/tutorials/python-string-encode-decode