im в настоящее время пытается получить байты из строки python и сохранить его в подписанном int-массиве Я пытаюсь получить все байты из файла, чем разделить '\ x00 'в массиве затем попытаться получить Int из этого байта, но я постоянно получаю следующую ошибку „TypeError: не может преобразовать объект Юникода вpython читает данные из двоичного файла и записывает его в подписанный int
file=open('norm.raw','rb')
data=file.read()
file.close()
#data=binascii.b2a_hex(data)
byteArr=str(data)[2:-1]
for byte in byteArr:
i+=1
if byte == "\\":
cadena.append(byteArr[j:j+i])
j=j+i
i=0
for stri in cadena:
print(int.from_bytes('\\'+stri[:-1],byteorder='big',signed='true'))
байтов“ не знаю, если это лучший способ получить подписанную int bytes из файла в python, если кто-то знает лучший способ сделать это, пожалуйста, помогите мне.
редактировать: в настоящее время я могу взять байты обозначение байта в массиве я могу извлечь b'x02' , но теперь я не могу добавить символ \ в начале, чтобы преобразовать его в знаковый междунар.
Не могли бы вы добавить некоторые данные вашего ввода? –
последние байты из файла: \ xff \ xf0 \ xff \ xf0 \ xff \ xf1 \ xff \ xf0 \ xff \ xf3 \ xff, он должен быть: -1, -16, -1, -16, -1, -15 , -1, -16, -1, -13, -1 –
Пожалуйста, разместите свое решение как ответ, а не как отредактировать вопрос. Я откат вашего редактирования, его можно найти в истории изменений. – halfer