У меня есть объекты в байтах, которые я получил от сокета, и я хочу извлечь целочисленное значение, которое он содержит.
Похоже на это
input = b'1 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Я пытался
tmp_str = input.decode('ascii').strip()
int(tmp_str)
Ошибка:
ValueError: invalid literal for int() with base 10: '1 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Однако тип tmp_str
равен 'str'
, а длина 20
.. Похоже, объект не изменился, а только некоторые представленияон изменился ..
>>> print(tmp_str)
1
>>> len (tmp_str)
20
>>> type(tmp_str)
<class 'str'>
>>> type(input)
<class 'bytes'>
Как я могу извлечь из него int?