Question

I have a bytearray to which I have to add a number as a four character string. i.g. 14 should be added as '0014'.

I tried this:

id = 14
arr.append(bytearray(format(id, '04x')))

but it results in: TypeError: unicode argument without an encoding

Was it helpful?

Solution

Really you should explicitly specify the encoding when converting to bytes from a string. This answer also works in python 3:

arr.extend(format(id, "04x").encode('ascii'))

OTHER TIPS

arr.extend(bytes(format(id,"04x")))
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top