Метод декодирования строки Python

каталога в Python Программирование и разработка

Язык Python используется для хранения строки в форме Unicode. В Юникоде для представления одного символа Юникода используется простая кодовая точка. Мы должны знать два термина: кодировать и декодировать. Кодирование преобразует простую строку в группу байтов, в то время как декодирование снова преобразует группу байтов в реальную строку.

Итак, в этой статье сегодня мы будем декодировать строку в исходную с помощью функций encode () и decode (). Обязательно настройте пакет python3 в вашей системе Linux. Начнем сегодняшнюю статью с запуска консоли терминала с помощью Ctrl + Alt + T.

Пример 1

Мы начнем первый пример в консоли python3 терминала оболочки Ubuntu 20.04. Итак, мы начали его с ключевого слова Python3, как показано в выходных данных ниже.

$ python3

Теперь консоль готова к использованию. Итак, мы инициализировали строковую переменную с именем «s» и присвоили ей некоторое значение. Его значение содержит смесь целых чисел, которые преобразуются в символьный тип и объединяются со значением строкового типа «hello». В следующей строке мы инициализировали другую переменную с именем «enc».

Метод encode () был использован здесь для кодирования исходной переменной «s» в кодировку utf-8 и сохранения закодированной строки в переменной «enc». В следующей подряд строке используется предложение print для печати закодированного строкового значения, то есть «enc». Терминал показывает закодированную строку в байтах. Здесь цитируется сценарий, описанный выше.

>>> s = chr(13) + ‘hello’ + chr(14)
>>> enc = s.encode( ‘utf-8’ )
>>> print(enc)
b’\rhello\x0e’

Пришло время вернуть закодированную строку в исходную форму. Итак, мы применили функцию декодирования к переменной enc, чтобы преобразовать ее обратно в исходную строку и сохранить в переменной dec. Оператор печати был выполнен для печати декодированной строки в оболочке, как показано на изображении ниже, то есть привет. Здесь цитируется сценарий, описанный выше.

>>> = enc.decode()
>>> print(dec)
hello

Пример 2

Возьмем еще один пример декодирования строки. Мы создали новый файл типа Python. После добавления поддержки Python мы инициализировали строку «str» и закодировали ее в байтовый формат типа utf-8 с помощью функции кодирования. Для ошибок установлено значение «strict», чтобы вызвать только UnicodeError, а остальные будут проигнорированы.

Закодированная строка будет сохранена в переменной «enc», а предложение print напечатает тип закодированной переменной с использованием метода «type ()». Оператор печати распечатает закодированную строку, а функция декодирования вернет ее к исходной. Декодированная строка будет распечатана. Здесь цитируется сценарий, описанный выше.

#!/usr/bin/python3
str = “HelloLinux”
enc = str.encode(‘utf-8, ‘strict’)
print(type(enc))
print(“The encoded string: ”, enc)
dec = enc.decode(‘utf-8, ‘strict’)
print(“The decoded string: ”, dec)

Выполнение этого файла Python отображает тип закодированной строки, т. Е. Байты, и показывает отдельно закодированную и декодированную строку.

$ python3 decode.py

Пример 3

Завершим статью последним примером. На этот раз мы конвертируем нашу строку в байтовый формат utf_16. Итак, мы инициализировали строку и закодировали ее в кодировку utf_16, используя для нее функцию encode ().

Закодированная строка была сохранена в переменной enc, и мы распечатали ее тип и значение. Закодированная строковая переменная была декодирована в исходную с использованием функции decode () для переменной enc и распечатана в оболочке.. Здесь цитируется сценарий, описанный выше.

#!/usr/bin/python3
str = “HelloLinux”
enc = str.encode(“utf-16)
print(type(enc))
print(“The encoded string: ”, enc)
dec = enc.decode(‘utf-16, ‘strict’)
print(“The decoded string: ”, dec)

После запуска этого обновленного кода Python с ключевым словом python3 мы получили отображение типа закодированной строки как «байты» вместе с закодированной и декодированной строкой.

$ python3 decode.py

Заключение

В этой статье мы продемонстрировали простые примеры декодирования закодированной строки обратно в исходную. Мы закодировали простые строки в байтовые форматы utf-8 и utf-16, а затем декодировали их обратно в исходную строку. Надеемся, это будет полезно.

Читайте также:  Memcmp в C
Оцените статью
bestprogrammer.ru
Добавить комментарий