Рубрики
Без рубрики

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

В этом уроке мы смотрим, как преобразовать строку Python в байты. Мы смотрим на все различные … Tagged с помощью Python, программирования, новичков, учебного пособия.

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

Этот учебник является частью нашей инициативы в Flexiple , чтобы написать короткие учебники вокруг часто используемых или интересных концепций.

Соглашение – Python String to Byte

  • Python String к байтам
  • Метод преобразования строк в байты
    • Использование байтов ()
    • Использование encode ()
  • Ограничения и предостережения – Python String to Byte

Python String для байтов:

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

В Python 2 строка и байты были одинаковыми объектами Typebyte; Однако после введения объектов Python 3 байтов рассматриваются как последовательность байтов, а строки рассматриваются как последовательность символов. По сути, строки читают человеку, и для того, чтобы они стали машиночитаемыми, они должны быть преобразованы в объекты байтов. Это преобразование также позволяет непосредственно храниться на диске.

Процесс преобразования строковых объектов в объекты Byte называется кодированием, а обратное называется декодированием. Мы смотрим на методы для достижения этого ниже.

Метод преобразования строк в байты:

Существует много методов, которые можно использовать для преобразования строки Python в байты, однако мы рассматриваем наиболее распространенные и простые методы, которые можно использовать.

Используя байты ():

Метод Bytes () – это встроенная функция, которую можно использовать для преобразования объектов в байтовые объекты.

Синтаксис байтов ():

bytes(str, enc, error)

Байты принимают объект (строка в нашем случае), требуемый метод кодирования и преобразуют его в объект байта. Метод Bytes () принимает третий аргумент о том, как обрабатывать ошибки.

Давайте посмотрим на код, чтобы преобразовать строку Python в байты. Тип кодирования, который мы используем здесь,-«UTF-8».

#Using the byte() method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = bytes(str_1,'UTF-8')

#printing the encode string 
print(str_1_encoded)

#printing individual bytes
for bytes in str_1_encoded:
    print(bytes, end = ' ')

Вывод заключается в следующем:

b'Join our freelance network'
74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107

Как видите, этот метод преобразовал строку в последовательность байтов.

ПРИМЕЧАНИЕ. Этот метод преобразует объекты в неизменные байты, если вы ищете изменяемый метод, вы можете использовать метод Bytearray ().

Используя encode ():

Метод Encode () является наиболее часто используемым и рекомендуемым методом для преобразования строк Python в байты. Основная причина в том, что это более читаемо.

Синтаксис Encode ():

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

Здесь строка относится к строке, которую вы хотите преобразовать.

Параметры:

  • Кодирование – необязательно. Метод кодирования, который вы хотите использовать. После Python 3 UTF-8 стал дефолтом.
  • Ошибка – необязательная, строка, содержащая сообщение об ошибке.

Код для преобразования строки Python в байты:

#Using the encode method

# initializing string 
str_1 = "Join our freelance network"

str_1_encoded = str_1.encode(encoding = 'UTF-8')

#printing the encode string 
print(str_1_encoded)

#printing individual bytes
for bytes in str_1_encoded:
    print(bytes, end = ' ')

Вывод такой же, как и выше.

b'Join our freelance network'
74 111 105 110 32 111 117 114 32 102 114 101 101 108 97 110 99 101 32 110 101 116 119 111 114 107

Похоже на Encode () Метод, decode () Метод может использоваться для преобразования байтов в строки.

#Using the encode method

#initializing string 
str_1 = "Join our freelance network"

str_1_encoded = str_1.encode(encoding = 'UTF-8')

#printing the encode string 
print(str_1_encoded)

#decoding the string
str_1_decoded = str_1_encoded.decode()
print(str_1_decoded)

Выход:

b'Join our freelance network'
Join our freelance network

Ограничения и предостережения – Python String to Byte

  • Оба метода эффективно решают одну и ту же проблему, и выбор конкретного метода сводится к личному выбору. Тем не менее, я бы порекомендовал второй метод для начинающих.
  • Метод byte () возвращает неизменную объект. Следовательно, рассмотрите возможность использования Bytearray (), если вы ищете изменяемый объект.
  • При использовании методов byte () объект должен иметь размер 0 <256.

Оригинал: “https://dev.to/hrishikesh1990/how-to-convert-python-string-to-bytes-2d9g”