В этом уроке мы смотрим, как преобразовать строку 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”