Как преобразовать строку в байты Python?

Свойства Python Программирование и разработка

Байт-объект состоит из серии байтов. Они машиночитаемы и могут быть немедленно сохранены на диск. Строки находятся в удобочитаемом формате и перед использованием должны быть закодированы. Текст можно сопоставить с диском, используя множество различных типов кодирования. Наиболее широко используются системы кодирования ASCII и UTF-8.

В Python байты и строки хорошо различаются. Предоставляя кодировку, вы можете кодировать строку для получения байтов и декодировать байты для получения строки. Интер-преобразования являются обычным явлением, но преобразования строк в байты становятся все более распространенными в наши дни, поскольку нам обычно требуется переводить строки в байты при работе с файлами или машинным обучением. Вы должны знать, что преобразование может завершиться неудачно, и следует учитывать то, как обрабатываются ошибки.

Давайте посмотрим на несколько иллюстраций, как это можно сделать. В этом руководстве мы узнаем о преобразовании строки Python в байты. Мы рассмотрим два метода, чтобы вы могли выбрать тот, который лучше всего соответствует вашим желаниям. Хотя существует несколько методов преобразования строк Python в байты, мы сосредоточимся на наиболее распространенных и простых. Теперь рассмотрим несколько примеров.

Пример 1

Чтобы преобразовать строку в байты, мы можем использовать встроенный в Python класс Bytes: просто укажите строку в качестве первого аргумента функции Object () {[собственный код]} класса Bytes, а затем укажите кодировку. Изначально у нас есть строка с названием «my_str». Мы преобразовали эту конкретную строку в байты.

my_str = «welcome to Python»
str_one = bytes(my_str, ‘utf-8’)
str_two = bytes(my_str, ‘ascii’)
print(str_one,\n)
for byte in str_one:
print(byte, end=»)
print(\n)
for byte in str_two:
print(byte,end=»)

Этот подход, как видите, преобразовал строку в серию байтов. Обратите внимание, что эта функция преобразует объекты в неизменяемые байты; если вам нужен изменяемый метод, используйте вместо него метод bytearray (). Элемент был создан в текстовом формате, который легко читается, но данные в нем содержатся в байтах. Вот результат реализации приведенного выше кода.

Элемент был создан в текстовом формате, который легко читается

Пример 2

В этом примере для перевода данных использовался метод encode (). Это наиболее часто используемый и рекомендуемый способ преобразования строк Python в байты. Одна из основных причин заключается в том, что его легче читать. Синтаксис метода кодирования следующий:

string.encode(encoding=encoding, errors=errors)

Строка, которую вы хотите преобразовать, называется строкой. Используемый вами метод кодирования называется «кодирование». Строка «Ошибка» показывает сообщение об ошибке. UTF-8 стал стандартом со времен Python 3.

my_str = «sample code for conversion»
my_str_encoded = my_str.encode(encoding = ‘UTF-8’)
print(my_str_encoded)
for bytes in my_str_encoded:
print(bytes,end =»)

В качестве примера мы использовали строку my_str = «Пример кода для преобразования». Мы использовали кодировку для преобразования после инициализации строки, а затем распечатали вывод строки. После этого мы распечатали отдельные байты следующим образом:

Мы использовали кодировку для преобразования после инициализации строки

Пример 3

В нашем третьем примере мы снова используем метод encode () для преобразования строк в байты. Это удобный способ конвертировать строки в байты.

my_str = «Learn about programing»
print(my_str)
print(type(my_str))
str_object = my_str.encode(«utf-8»)
print(str_object)
print(type(str_object))

Мы рассматриваем my_str = «Learn about programming» как источник, который нужно преобразовать в байты в приведенном выше коде. На следующем шаге мы превратили строку в байты с помощью метода encode (). До и после преобразования функция type () используется для проверки типа объекта. Здесь используется enc = utf-8.

Приведенный выше код сгенерировал следующий вывод.

Приведенный выше код сгенерировал следующий вывод

Заключение

Оба этих подхода эффективно решают одну и ту же проблему; поэтому выбор одного метода вместо другого зависит от личных предпочтений. Однако мы рекомендуем вам выбрать вариант, который лучше всего соответствует вашим потребностям. Метод byte () возвращает объект, который нельзя изменить. В результате, если вам нужен изменяемый объект, рассмотрите возможность использования bytearray (). Объект должен иметь размер 0 = x 256 для методов byte ().

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