Scott David Daniels <[EMAIL PROTECTED]> wrote in news:[EMAIL PROTECTED]:
> Philipp H. Mohr wrote: >> I am trying to xor the byte representation of every char in a >> string with its predecessor. But I don't know how to convert a >> char into its byte representation. > ord('a') == 97; chr(97) == 'a'; "ord" gives you the value of the > byte. > >> e.g. everything between $ and * needs to be xor: >> $GPGSV,3,1,10,06,79,187,39,30,59,098,40,25,51,287,00,05,25, >> 103,44* >> to get the checksum. > > Probably you want a byte-array here, rather than going > char-by-char. Try: > import array > base = ('$GPGSV,3,1,10,06,79,187,39,30,59,098,' > '40,25,51,287,00,05,25,103,44*') > bytes = array.array('b', base[1 : -1]) > for i in reversed(range(len(bytes))): > bytes[i] ^= bytes[i-1] > result = bytes.tostring() > > --Scott David Daniels > [EMAIL PROTECTED] > What is the byte representation of 287? -- rzed -- http://mail.python.org/mailman/listinfo/python-list