26
Янв
2022

Проблема при конвертации строки в байты

data = struct.pack(">B4sH256s", dc, ip_bytes, port, key)

Вот так пакую байты На выходе имею

b'\x02\x95\x9a\xa73\x01\xbb]3\xf6\x99*\x8c\xaem\xae\xdc\xd3\x04\xd2[-\xd9\'9y\xf9"\xf9\xbe\xde\xb6c\xea\x9a\x95\x00j;\xcdyg\x03\xb9}\xdc_\xef\xf5JdeT\xb6\x8c\xf3\xe9\x9c\xe9\x97\x14\xcf,\xfc\xdb\x9e\x1c\x95\x04Xq\xc1p\xf3Nz\xc9\x94\xaeMK\xd3E\x07]\x8de\xe5g\xa0\xcdyJ\x80\x9aug\n\xa5\xe3\x83}V*F\xf3\x94;vj\xed}\xeb\xac\xd1\xc8za]\x96(N\x9d\xe6\x97n\xf2\xafo!\x0f\\\xb1T\xd9\x1f\xaf\x9a\x90H\xd2\xd8\xb7\n\xde\xc2\xf4!i\xe2\x8b\xff\xe4\xbd\xcdQ\x8e\xa8\xa5\xb4G\xf5HzH\xe7Z\xb5\x8b\xf6\xc0\x01\xa3\xe2\xb36\r5\xffj\xe3W\xdf`\x0f%P\xd0/v\xa6\xc3\x930S\x0e\x9f#<\xc6\xfe\xd6\xe6Hg\xdc8\\P\xc093\xff\\|\xf2\xbe[\xb7\xbf\xa33F\x9dmG\xaf\xa9\xb4\xe7v\xa6\xcd\xc8g\x83\x11\x8c\xfa\xa5\x84\xa1\x05\xf3\xad\xd8=\xdfs9\xa5k\xfa\x07\xa2\xee\xc0\xe6\x15^\x90\x91\x91'

Дальше мне нужно из этого сделать строку

lol = str(bytes(data))

Потом пытаюсь сделать из строки байты

lol = bytes(lol, "utf-8")

В итоге получаю это

b'b\'\\x02\\x95\\x9a\\xa73\\x01\\xbb]3\\xf6\\x99*\\x8c\\xaem\\xae\\xdc\\xd3\\x04\\xd2[-\\xd9\\\'9y\\xf9"\\xf9\\xbe\\xde\\xb6c\\xea\\x9a\\x95\\x00j;\\xcdyg\\x03\\xb9}\\xdc_\\xef\\xf5JdeT\\xb6\\x8c\\xf3\\xe9\\x9c\\xe9\\x97\\x14\\xcf,\\xfc\\xdb\\x9e\\x1c\\x95\\x04Xq\\xc1p\\xf3Nz\\xc9\\x94\\xaeMK\\xd3E\\x07]\\x8de\\xe5g\\xa0\\xcdyJ\\x80\\x9aug\\n\\xa5\\xe3\\x83}V*F\\xf3\\x94;vj\\xed}\\xeb\\xac\\xd1\\xc8za]\\x96(N\\x9d\\xe6\\x97n\\xf2\\xafo!\\x0f\\\\\\xb1T\\xd9\\x1f\\xaf\\x9a\\x90H\\xd2\\xd8\\xb7\\n\\xde\\xc2\\xf4!i\\xe2\\x8b\\xff\\xe4\\xbd\\xcdQ\\x8e\\xa8\\xa5\\xb4G\\xf5HzH\\xe7Z\\xb5\\x8b\\xf6\\xc0\\x01\\xa3\\xe2\\xb36\\r5\\xffj\\xe3W\\xdf`\\x0f%P\\xd0/v\\xa6\\xc3\\x930S\\x0e\\x9f#<\\xc6\\xfe\\xd6\\xe6Hg\\xdc8\\\\P\\xc093\\xff\\\\|\\xf2\\xbe[\\xb7\\xbf\\xa33F\\x9dmG\\xaf\\xa9\\xb4\\xe7v\\xa6\\xcd\\xc8g\\x83\\x11\\x8c\\xfa\\xa5\\x84\\xa1\\x05\\xf3\\xad\\xd8=\\xdfs9\\xa5k\\xfa\\x07\\xa2\\xee\\xc0\\xe6\\x15^\\x90\\x91\\x91\''

Мне нужно это превратить в начальный вид, после чего распаковать

lol = struct.unpack(">B4sH256s", lol)

Ошибка

struct.error: unpack requires a buffer of 263 bytes

Источник: https://ru.stackoverflow.com/questions/1375188/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0-%D0%BF%D1%80%D0%B8-%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%86%D0%B8%D0%B8-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8-%D0%B2-%D0%B1%D0%B0%D0%B9%D1%82%D1%8B

Тебе может это понравится...

Добавить комментарий