Am 13.05.2015 um 11:22 schrieb Christopher Arndt:
> Am 13.05.2015 um 10:52 schrieb Stefan:
>> So wie ich das verstanden habe, kann ich in Python nicht mit Bytes
>> rechnen, zumindest nicht mit einzelnen Bytes. Könnte ich aber dasselbe
>> erreichen, wenn ich ein einzelnes Element aus einem Bytearray verwende?
>
> Verwende statt dessen in Python 2 einfach einen String (str) und in
> Python 3 einen Bytestring (bytes). Beides sind so in etwa das gleiche,
> wie Arrays aus char in C.
>
> Bei str musst du, um den Bytewert eines Zeichen zu bekommen, ord(c)
> verwenden.
>
> Hier z.B. eine Checksummenberechnung für MIDI-Sysexdaten in Python 2:
>
> def checksum(data):
> sum = 0
> for c in data:
> sum += ord(c)
> return sum & 0x7f
>
> In Python 3 muss, wenn data statt als str als bytes übergeben wird,
> ord() weggelassen werden, weil, wenn man über bytes iteriert, bekommt
> die einzelnen Elemente als int zurück. Das ist leider einer der Fälle,
> der es kompliziert macht, Code zu schreiben, der gleichzeitig mit Python
> 2 und 3 funktioniert.
>
>
> Chris
>
Danke Chris und Diez,
ich denke mal, die wichtigsten Infos habe ich.
Gruß
Stefan