zum Zweck einer Datenübertragung müssen verschiedene Datenstukturen in einem Byte-Array zusammengeführt werden.
Die eingebaute Funktion int.to_bytes(length, byteorder, *, signed=False) aus https://docs.python.org/3/library/stdtypes.html)
schien ein geeignetes Werkzeug zu sein.
Beispiele funktionieren:
Code: Alles auswählen
>>> value = 2023
>>> value.to_bytes(2, 'big')
b'\x07\xe7'
Code: Alles auswählen
>>> value=1341
>>> value.to_bytes(2, 'big')
b'\x05='
zu sehen sein.b'\x05\x3D'
Gibt es eine Erklärung warum int.to_bytes so unterschiedlich reagiert?
Oder gibt es eine andere Methode zuverlässig eine beliebige Integer-Zahl (signed/unsigned) in Bytes zu zerlegen und
wenn möglich unter Berücksichtigung der Byte-Anordnung ('big' oder 'little' endian)?
Vielen Dank für Eure Informationen
Zur Umgebung:
Python unter VisualStudio 2019
>>> import sys
>>> print("Python version")
Python version
>>> print (sys.version)
3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32 bit (Intel)]
>>> print("Version info.")
Version info.
>>> print (sys.version_info)