在8个字符的块中迭代Python中的字符串

时间:2014-01-21 11:29:57

标签: python for-loop iterator

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

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

提前致谢。

1 个答案:

答案 0 :(得分:2)

只是抛出这个答案,或许不是最合适的做事方式,但可以使用textwrap

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