Python: Конвертация строк в байты и обратно
Python предлагает несколько функций для конвертации строковых значений в байты.
Одним из способов является использование метода encode() для строк. Этот метод кодирует строку в байты, используя указанное в параметрах кодирование. Например, следующий код кодирует строку "Hello, World!" в байты, используя кодировку UTF-8:
python
string = "Hello, World!"
encoded = string.encode('utf-8')
print(encoded)
В результате выполнения этого кода мы получим объект типа bytes, содержащий закодированную строку:
b'Hello, World!'
Еще одним способом является использование функции bytes(). Эта функция принимает один аргумент – строку, которую нужно закодировать в байты. Например:
python
string = "Hello, World!"
encoded = bytes(string, 'utf-8')
print(encoded)
В результате выполнения этого кода мы также получим объект типа bytes со значением, соответствующим закодированной строке.
При конвертации из строки в байты также можно использовать модуль struct. Например:
python
import struct
string = "Hello, World!"
encoded = struct.pack(str(len(string)) + 's', string.encode('utf-8'))
print(encoded)
В этом примере мы используем метод pack() модуля struct, чтобы упаковать строку в байты. Метод pack() принимает первым аргументом строку формата, которая указывает, как нужно упаковывать данные.
Кроме того, можно использовать модуль codecs для конвертации строк в байты. Например:
python
import codecs
string = "Hello, World!"
encoded = codecs.encode(string, 'utf-8')
print(encoded)
В результате выполнения этого кода мы также получим объект типа bytes со значением, соответствующим закодированной строке.