2014-01-21 54 views
1

我有很长的二进制数字存储在字符串中。每8个字符(即每个8位块)代表一个ASCII字符码。举个例子,0100100001101001是2个8位数字(01001000 & 01101001),它们是'H'&'i'的字符代码。所以整个事情就是'Hi'的二进制表示。在8字符块中遍历Python中的字符串

我的问题是,有没有办法强制for循环通过更大块中的字符串迭代,以便我一次可以读取8个字母?换句话说,我希望for循环将每个循环迭代中的8个字符分配给我的迭代器变量,而不是1个,这样我就可以轻松地确定由字符串表示的字符代码。

在此先感谢。

+0

不是重复:这一个是关于字符串,另外一个是关于“一般“种类的列表。 'textwrap'可能只适用于字符串。 – glglgl

回答

1

就在,也许不是最恰当的方式做事情抛这个答案,但你可以使用textwrap

>>> import textwrap 
>>> s = '0100100001101001' 
>>> textwrap.wrap(s, 8) 
['01001000', '01101001'] 
+0

这是一个体面的解决方案。更进一步,在阅读完该功能之后,代码: 'code' b = textwrap.wrap(s,8)'code' 创建一个易于迭代的新列表。谢谢 – user2702924

+1

如果这对你有效,请upvote并接受它:) –

+0

它让我等了几分钟才能接受它:) – user2702924