Python 字节到字符串到字节
Python Bytes to string to Bytes
我知道以前有人问过类似的问题,但还没有答案。
我做了一个字节串:
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
工作
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'
还有许多其他编码可用。
我知道以前有人问过类似的问题,但还没有答案。
我做了一个字节串:
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
工作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'
还有许多其他编码可用。