#python #struct #byte #encode #binary-data
#python #struct #байт #encode #двоичные данные
Вопрос:
Я совсем запутался в разнице между struct.pack()
и encode
. Насколько я понимаю, выходные данные обоих struct.pack()
и encode
являются байтовыми строками. И это struct.pack()
используется для преобразования чисел в байты, в то время encode
как используется для преобразования строки в байты. Правильно ли я понимаю?
Тогда что, если, когда вы struct.pack('format',something)
и something.encode('utf-8')
which возвращаете одну и ту же байтовую строку. Тогда как вы определяете, представляет ли байтовая строка число или строку? например:
bstring = b'xc3xa9'
a = bstring.decode('utf-8')
b = struct.unpack('>H',bstring)
print(a,b)
>>>é (50089,) #see, using different converting methods return different results