【问题标题】:Python Bytes to string to Bytes [duplicate]Python字节到字符串到字节[重复]
【发布时间】:2019-02-22 11:46:52
【问题描述】:

我知道以前有人问过类似的问题,但还没有答案。

我创建一个字节串: 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)),但我不知道如何扭转这种情况。

提前致谢。附:我正在使用 Python 3

【问题讨论】:

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


    【解决方案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'
    

    还有许多其他编码可用。

    【讨论】:

      猜你喜欢
      • 2016-03-28
      • 1970-01-01
      • 2021-03-27
      • 2022-01-18
      • 2016-03-09
      • 2011-12-14
      • 2018-05-01
      • 2020-06-20
      • 1970-01-01
      相关资源
      最近更新 更多