当前位置: 首页 > 知识库问答 >
问题:

如何转换二进制字符串到Python3的正常字符串?

公良莫希
2023-03-14

例如,我有一个这样的字符串(返回值的subprocess.check_output):

>>> b'a string'
b'a string'

无论我对它做了什么,它总是在字符串前打印恼人的b'

>>> print(b'a string')
b'a string'
>>> print(str(b'a string'))
b'a string'

有人对如何将其用作普通字符串或将其转换为普通字符串有什么想法吗?

共有3个答案

陆宝
2023-03-14

codecs库中的encode()decode()留档。utf-8是函数的默认编码,但在Python 3中有几个标准编码,如latin_1utf_32

储思聪
2023-03-14

如果假声的回答不起作用,你也可以尝试:

>>> b'a string'.decode('utf-8')
'a string'
孟晨朗
2023-03-14

解码。

>>> b'a string'.decode('ascii')
'a string'

要从字符串中获取字节,请对其进行编码。

>>> 'a string'.encode('ascii')
b'a string'
 类似资料:
  • 问题内容: 我想将十六进制字符串转换为二进制字符串。例如,十六进制2是0010。下面是代码: 但是,这仅适用于十六进制0-9;它不适用于十六进制A-F,因为它使用。谁能增强它? 问题答案: 您需要告诉Java int是十六进制的,如下所示:

  • 我如何将一个写为二进制的字符串转换为二进制(字节数组)? 如果我有一个字符串: 下面是当我将二进制设置为字节数组时发生的情况(字节数组返回48,这是ASCII) 我不擅长解释,所以希望上面的例子足以告诉你我想要什么。

  • 问题内容: 我发现将十六进制转换为二进制的方式如下: 尽管此方法适用于较小的十六进制数,但以下十六进制数 抛出一个 因此,我编写了以下似乎可行的方法: 上面的方法基本上接受十六进制字符串中的每个字符,并在必要时将其转换为等价的二进制零,然后将其连接到返回值。这是执行转换的正确方法吗?还是我忽略了一些可能导致我的方法失败的事情? 在此先感谢您的协助。 问题答案: 会做你想要的。只需传递2的基数即可。

  • 问题内容: 我需要将二进制字符串转换为十六进制字符串,但是我有问题。我通过这种方法将二进制字符串转换为十六进制字符串: 没关系!但是我丢失了字符串左侧的零。例如: 该方法返回此:123456789ABCDEF,但我想返回此: 00000123456789ABCDEF 问题答案: 而不是我将使用解析值,然后以所需的宽度(在您的示例中为21)输出值:

  • 问题内容: 我也想将我的二进制(在字符串中)转换为十六进制字符串,这只是一个程序片段,因为该程序只是另一个更大程序的一部分: 问题是我不知道填充是否有效,但是我确定该程序返回了二进制字符串的错误十六进制转换,我正在尝试这样做: http://www.wikihow.com/Convert-Binary-to- Hexadecimal PS:我需要实现它(不使用任何内置函数) 问题答案: 如果您不必

  • 问题内容: 我想将二进制字符串转换为数字Eg 这怎么可能?谢谢 问题答案: 该函数将字符串转换为数字,并使用第二个参数来指定字符串表示形式的基数: 看到它在行动 。