Поиск по сайту:
Афоризмы кристаллизуют несоответствия. (Алан.Дж.Перлис)

Преобразование строки в байты в Python

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
16.11.2021
Преобразование строки в байты в Python

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

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

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

Пример 1:

Чтобы преобразовать строку в байты, мы можем использовать встроенный в Python класс Bytes: просто укажите строку в качестве первого аргумента функции Object() { [native code] } класса 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='')

 

Читать  Запрос Redis из Python

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

Преобразование строки в байты в Python

 

Пример 2:

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

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

 

Строка, которую вы хотите преобразовать, называется строкой. Используемый вами метод кодирования называется «кодирование». Строка «Error» показывает сообщение об ошибке. 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 = “Sample code for conversion”. Мы использовали кодировку для преобразования после инициализации строки, а затем распечатали вывод строки. После этого мы распечатали отдельные байты следующим образом:

Преобразование строки в байты в Python

 

Пример 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.

Читать  Сравнение Django и SQLAlchemy

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

Преобразование строки в байты в Python

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Рекомендуемое
В преддверии своего квантового саммита IBM анонсировала первый в мире процессор «100…

Спасибо!

Теперь редакторы в курсе.