Como usar a codificação 'hex' no Python 3.2 ou superior?

No Python 2, para obter uma representação de string dos dígitos hexadecimais em uma string, você poderia fazer

>>> '\x12\x34\x56\x78'.encode('hex')
'12345678'

No Python 3, isso não funciona mais (testado no Python 3.2 e 3.3):

>>> '\x12\x34\x56\x78'.encode('hex')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
LookupError: unknown encoding: hex

Há pelo menosuma resposta aqui no SO que menciona que ohex codec foi removido no Python 3. Mas então,de acordo com os docs, foi reintroduzido no Python 3.2, como um "mapeamento de bytes para bytes".

No entanto, não sei como fazer com que esses "mapeamentos de bytes para bytes" funcionem:

>>> b'\x12'.encode('hex')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'bytes' object has no attribute 'encode'

E os médicos também não mencionam (pelo menos não onde eu olhei). Eu devo estar perdendo algo simples, mas não consigo ver o que é.

questionAnswers(4)

yourAnswerToTheQuestion