python - Byte conversion fail -
i have problem python's &
bitwise operation:
>>> x = 0xc1 >>> y = 0x7f >>> x & y >>> 65 >>> bytes([65]) >>> b'a'
the problem conversion decimal hex. 65
0x41
, python says 'a'
. why?
the value have value want. comment:
i using bytes function because want concat result of base64.b64decode(coded_string) 1 more byte @ end.
bytes([65])
creates bytes
object single byte numeric value 65
. number means depends on how interpret bytes.
the fact repr
happens b'a'
isn't relevant. value is, 1 byte want. repr
of bytes
object, the docs explain, uses bytes
literal format convenience. byte matches printable ascii character gets represented character, few common values represented backslash escapes \n
, , else hex escape, within b'…'
so, repr(bytes([65]))
b'a'
, because byte 65
printable ascii character a
.
if want string hexadecimal representation of number 65
, can use hex
function—or, if want more control on formatting, format
function:
>>> hex(65) '0x41' >>> format(65, '02x') '41'
but that's not want here. want value b'a'
, , have that.
Comments
Post a Comment