Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
ich benutze struct um Kommandos in Binärcode um zuwandeln aber irgendwie produziert das Unsinn wenn ich Integres die größer als 5407 sind um zu wandeln.
Du verguckst dich. Du bekommst immer 4 Bytes. Aber das ist ja auch ein String, diese 4-Byte-Sequenz. Und wenn eines deiner Bytes druckbar ist, also zB im ASCII definiert, dann ist zB bei dir das erste Zeichen ein Leerzeichen.
Die SIND korrekt. Das erste Zeichen bei 5408 ist \x20, also hex 20. Und jetzt schauen wir in die ASCII-Tabelle, und bei \x20 ist das Leerzeichen definiert. Und dementsprechend gibt Python das erste Zeichen als ' ' aus. Das ist voellig korrekt. Die Byte-Sequenz ist richtig. Dein Problem ist nur die Darstellung bei einer Ausgabe mit print.
Was willst du denn danach mit diesen Daten machen?
So ist das nunmal mit Bytes, die man in einem Terminal ausgibt. Die werden nicht als Hex-Werte dargestellt. Wenn das nicht so waere, dann koennte man ja keine Textausgaben machen.
__deets__ hat geschrieben: ↑Mittwoch 5. September 2018, 11:04Was willst du denn danach mit diesen Daten machen?
Per Binär Protokoll ein USB-Gerät steuern.
Gibt es eine Möglichkeit sich die reinen Hex-Darstellung anzeigen zulassen? Ich würde halt gerne verifizieren können ob die Komandos richtig gebildet werden.
Wie liest Du denn die Daten vom Gerät? Die Funktion scheint ein Array zurückzuliefern. Wenn Du ein Problem hast, mit Arrays zu arbeiten, dann schau mal in der Dokumentation von array, ob Du eine für Dich passende Methode findest.