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

发布于 2022-09-01 07:06:44 字数 496 浏览 49 评论 0

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

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

文本文件的内容是:

python学习中

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一萌ing 2022-09-08 07:06:44
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')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文