Python字节转换为字节

时间:2018-09-18 12:26:59

标签: python string python-3.x character-encoding python-unicode

我知道之前曾有人提出过类似的要求,但尚未找到答案。

我创建一个字节字符串:    salt = os.urandom(16) 它给出了类似的东西: b'w\x05\xce^f\xdcbM\xe9\xb8c\x8b\x98\xd2\n\x11'

我需要将其提供给用户,以便他们可以复制和粘贴,将其放置在文本文档中或任何地方,然后稍后将其粘贴回终端中。

简而言之。我需要将其转换为字符串。然后返回其编码。

我尝试了salt.decode(encoding="utf-8")和许多变体,所有这些变体都给了我某种形式的UnicodeDecodeError: 'utf-8' codec can't...,似乎唯一起作用的是"".join(map(chr, salt)),但我不知道该怎么做。扭转这个。

先谢谢了。 P.s.我正在使用Python 3

1 个答案:

答案 0 :(得分:1)

最有可能需要python模块binsascii。示例:

>>> import os
>>> salt = os.urandom(16)
>>> import binascii
>>> binascii.b2a_hex(salt)
'9df7cc8d135fb9f115e166e140153217'
>>> binascii.a2b_hex(binascii.b2a_hex(salt))
'\x9d\xf7\xcc\x8d\x13_\xb9\xf1\x15\xe1f\xe1@\x152\x17'

还可以使用许多其他编码。