Python 3.1.1 string to hex

Stuart picture Stuart · Feb 26, 2010 · Viewed 140.5k times · Source

I am trying to use str.encode() but I get

>>> "hello".encode(hex)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: must be string, not builtin_function_or_method

I have tried a bunch of variations and they seem to all work in Python 2.5.2, so what do I need to do to get them to work in Python 3.1?

Answer

Ignacio Vazquez-Abrams picture Ignacio Vazquez-Abrams · Feb 26, 2010

The hex codec has been chucked in 3.x. Use binascii instead:

>>> binascii.hexlify(b'hello')
b'68656c6c6f'