Ich versuche derzeit, die Bytes aus Python-String zu erhalten und es in signierten int-Array Ich versuche, alle Bytes aus der Datei als Split '\ x00 zu bekommen 'in einem Array dann versuchen, den int aus diesem Byte zu bekommen, aber ich halte den folgenden Fehler bekommen ‚Typeerror: kann nicht Unicode-Objekt Bytes‘Python lesen Sie die Daten aus der Binärdatei und schreibe sie in signed 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'))
konvertieren weiß nicht, ob dies der beste Weg ist, die unterzeichnet zu erhalten int Bytes aus einer Datei in Python, wenn jemand einen besseren Weg kennt, bitte helfen Sie mir.
edit: zur Zeit kann ich in dem Array die Byte-Notation eines Bytes nehme ich die b'x02' extrahieren kann, aber jetzt kann ich nicht das Zeichen \ am Anfang fügen Sie es zu signed int zu konvertieren.
Könnten Sie einige Daten Ihrer Eingabe hinzufügen? –
letzte Bytes aus der Datei: \ xff \ xf0 \ xff \ xf0 \ xff \ xf1 \ xff \ xf0 \ xff \ xf3 \ xff, sollte es sein: -1, -16, -1, -16, -1, -15 , -1, -16, -1, -13, -1 –
Bitte posten Sie Ihre Lösung als Antwort, nicht als Bearbeitung der Frage. Ich habe Ihre Änderung rückgängig gemacht, sie befindet sich im Überarbeitungsverlauf. – halfer