python 字符串与二进制串之间的转化
最近学习密码学,经常要在二进制位上操作,加完密以后又要把二进制串转化回去,还要中英文兼顾,就只好用’utf-8’了,’utf-8’转化为二进制串是很容易的事情,但是二进制串转回去就有点麻烦了,因为解码好像只能是bytes对象,不能是字符串,这里记录一个简单的方法
from bitarray import bitarray
bitarray对象可以轻松将二进制串转化为bitarray对象,然后bitarray对象可以轻松转化为bytes,之后就好办了
from bitarray import bitarray
def str2bitarray(s):
ret = bitarray("".join([bin(int("1" + hex(c)[2:], 16))[3:] for c in s.encode("utf-8")]))
return ret
def bitarray2str(bit):
return bit.tobytes().encode("utf-8")
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。