Como posso converter um urandom de python para uma string?

Se eu chamo os.urandom (64), recebo 64 bytes aleatórios. Com referência aConverter bytes em uma string do Python eu tentei

a = os.urandom(64)
a.decode()
a.decode("utf-8")

mas tenho o erro de rastreamento dizendo que os bytes não estão em utf-8.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 0: invalid start byte

com os bytes

b'\x8bz\xaf$\xb6\x93q\xef\x94\x99$\x8c\x1eO\xeb\xed\x03O\xc6L%\xe70\xf9\xd8
\xa4\xac\x01\xe1\xb5\x0bM#\x19\xea+\x81\xdc\xcb\xed7O\xec\xf5\\}\x029\x122
\x8b\xbd\xa9\xca\xb2\x88\r+\x88\xf0\xeaE\x9c'

Existe um método fullproof para decodificar esses bytes em alguma representação de string? Estou gerando tokens aleatórios sudo para acompanhar documentos relacionados em vários mecanismos de banco de dados.

questionAnswers(3)

yourAnswerToTheQuestion