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

如何将字符串的二进制表示形式转换回Python中的原始字符串?

田昊天
2023-03-14

我无法找到以下问题的答案:从字符串开始,将其转换为二进制表示形式。如何在Python中恢复原始字符串?

例子:

a = 'hi us'
b = ''.join(format(ord(c), '08b') for c in a)

然后b=01101010010010000011010101110011

现在我想回到Python 2中的“hi us”。x、 例如,此网站完成以下任务:http://string-functions.com/binary-string.aspx

我已经看到了Java的几个答案,但是还没有幸运地实现到Python。我也尝试了b.decode(),但是不知道在这种情况下我应该使用哪种编码。

共有2个答案

唐睿
2023-03-14
>>> print ''.join(chr(int(b[i:i+8], 2)) for i in range(0, len(b), 8))
'hi us'

将b拆分为8的块,使用基数2解析为int,转换为char,将结果列表作为字符串连接。

邴宏大
2023-03-14

使用此代码:

import binascii
n = int('0110100001101001001000000111010101110011', 2)
binascii.unhexlify('%x' % n)
 类似资料:
  • 问题内容: 例如,一个字节中的位是,如何将这些位从字面上分配给字符串,即。 编辑 我从二进制文件中读取字节,并将其存储在字节数组中。我用。问题是 (a)当位以(最左边)1开头时,输出不正确,因为它转换为负int值。 (b)如比特首先,输出忽略,例如,假设有00000001,则输出为代替 问题答案: 用途: DEMO 。

  • 问题内容: 在Java中将int转换为二进制字符串表示形式的最佳方法(最好是最简单)是什么? 例如,假设int为156。其二进制字符串表示形式为“ 10011100”。 问题答案:

  • 问题内容: 我有一个字节的二进制字符串表示形式,例如 如何将其转换为真实的二进制值并将其写入二进制文件? 问题答案: 使用该功能具有的读取二进制值作为一个整数。 Python 2使用字符串来处理二进制数据,因此您将使用该函数将整数转换为一字节的字符串。 Python 3个中处理二进制和文本不同,所以你需要使用的类型来代替。它没有直接等效于该函数的函数,但是构造函数可以获取字节值列表。我们放入一个元

  • 我正在使用ContentResolver查询从Android中的数据库获取一些数据。这不是问题所在。 该方法返回整数的字符串表示形式, 我想把它转换成字符串Type_Main 这样输出将是 我不能使用整数。toString(TYPE_MAIN),因为这将返回它的值,即 我怎样才能做到这一点?

  • 问题内容: 如何将的表示形式(例如以下字符串)转换为? 我宁愿不使用。我还能使用什么? 造成这种情况的主要原因是他写的我的同事课程之一,将所有输入都转换为字符串。我不打算去修改他的课程,以解决这个问题。 问题答案: 从Python 2.6开始,你可以使用内置的: 这比使用更为安全eval。正如其自己的文档所说: 例如:

  • 问题内容: 最简单的方法是将类似以下的列表转换为: 即使用户在逗号之间加空格,也要在引号内加空格。我还需要处理以下内容: 在Python中。 我可以使用并使用split运算符删除空格,并检查非字母。但是代码变得非常混乱。有快点 方法吗? 问题答案: 使用,你可以安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典