素材牛VIP会员
Python 3.x 中如何将二进制转化成字符串
 he***21  分类:Python  人气:1396  回帖:1  发布于6年前 收藏

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

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

文本文件的内容是:

python学习中

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

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

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

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

 标签:字符编码python

讨论这个帖子(1)垃圾回帖将一律封号处理……

Lv1 新人
飘***子 JS工程师 6年前#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Øþ1²'

In [9]: bytearray([int(x,base=2) for x in a])
Out[9]: bytearray(b'*W!\x18u*j\x10\x9bAl\xd8\xfe1\xb2')
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取