【问题标题】:interpret a string made of 0 and 1 as a binary sequence? [duplicate]将由 0 和 1 组成的字符串解释为二进制序列? [复制]
【发布时间】:2016-01-12 20:13:51
【问题描述】:

使用python,我想转换/解释一个由0和1组成的字符串,就好像它是二进制一样。

假设我有一个如下所示的字符串:

>>>str = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"

我想要一个函数(或其他)来检索Hello World!

【问题讨论】:

  • @CoryKramer,这不是错误的骗局吗? OP 希望它转换为 ASCII,这就是我链接的骗子所做的。
  • 你的问题根本不清楚。您缺少解释为二进制和“检索“Hello World!”之间的联系。
  • @MorganThrapp 我们应该让 OP 澄清这个问题。

标签: python


【解决方案1】:

这应该做你想做的事。 for i in xrange(0, len(b), 8) 分别获取每个字符的位,chr(int(b[i:i+8], 2)) 将 ASCII 1 和 0 转换为字符代码。

>>> b = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"
>>> print "".join(chr(int(b[i:i+8], 2)) for i in xrange(0, len(b), 8))
Hello World!

【讨论】:

    【解决方案2】:
    from itertools import izip
    
    str = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"
    print ''.join(chr(int(''.join(b8), 2)) for b8 in izip(*[iter(str)]*8))
    

    输出:

    Hello World!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-05
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 2016-01-01
      • 2019-11-24
      相关资源
      最近更新 更多