当前位置: 首页 > 面试题库 >

在Python中将字节的二进制字符串表示形式转换为实际的二进制值

陈志
2023-03-14
问题内容

我有一个字节的二进制字符串表示形式,例如

01010101

如何将其转换为真实的二进制值并将其写入二进制文件?


问题答案:

使用该int功能具有base2读取二进制值作为一个整数。

n = int('01010101', 2)

Python
2使用字符串来处理二进制数据,因此您将使用该chr()函数将整数转换为一字节的字符串。

data = chr(n)

Python
3个中处理二进制和文本不同,所以你需要使用的bytes类型来代替。它没有直接等效于该chr()函数的函数,但是bytes构造函数可以获取字节值列表。我们放入n一个元素数组并将其转换为bytes对象。

data = bytes([n])

一旦有了二进制字符串,就可以以二进制模式打开文件,然后将数据写入其中,如下所示:

with open('out.bin', 'wb') as f:
    f.write(data)


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

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

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

  • 问题内容: 我需要一种方法来获取python中字符串的二进制表示形式。例如 是否有一些巧妙的方法来做到这一点? 问题答案: 像这样吗

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

  • 我无法找到以下问题的答案:从字符串开始,将其转换为二进制表示形式。如何在Python中恢复原始字符串? 例子: 然后 现在我想回到Python 2中的“hi us”。x、 例如,此网站完成以下任务:http://string-functions.com/binary-string.aspx 我已经看到了Java的几个答案,但是还没有幸运地实现到Python。我也尝试了,但是不知道在这种情况下我应该