Python 3x 中如何将二进制转化成字符串

来源:互联网  时间:2016/6/2 6:49:56

关于网友提出的“Python 3x 中如何将二进制转化成字符串”问题疑问,本网通过在网上对“Python 3x 中如何将二进制转化成字符串”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:Python 3x 中如何将二进制转化成字符串
描述:

现在是想实现这样一个功能:

对文本文件(可能包含中英文等任意字符)转化成二进制,对二进制进行操作(异或),之后得到的结果想再转回到字符串的形式。例如:

文本文件的内容是:

python学习中

对其二进制处理后的结果为:

['0b101010', '0b1010111', '0b100001', '0b11000', '0b1110101', '0b101010', '0b1101010', '0b10000', '0b10011011', '0b1000001', '0b1101100', '0b11011000', '0b11111110', '0b110001', '0b10110010']

想将其回成字符串的形式。

尝试了一些办法,好像都不行。(本来打算用str.decode,但是发现py3.x的版本只支持byte.decode,str不支持)求问大家有什么好的解决办法吗?


解决方案1:

In [7]: a=['0b101010', '0b1010111', '0b100001', '0b11000', '0b1110101', '0b101010', '0b1101010', '0b10000', '0b10011011', '0b1000001', '0b1101100', '0b11011000', '0b11111110', '0b110001', '0b10110010']

In [8]: ''.join([chr(int(x,base=2)) for x in a])
Out[8]: '*W!\x18u*j\x10\x9bAl?t12'

In [9]: bytearray([int(x,base=2) for x in a])
Out[9]: bytearray(b'*W!\x18u*j\x10\x9bAl\xd8\xfe1\xb2')

上一篇Python 中lft[-1]>=rgt[-1]是什么意思
下一篇Python 3 会导致Python的什么前景?
明星图片
相关文章
《Python 3x 中如何将二进制转化成字符串》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)