python将txt中文文本转二进制文本及转回

一些txt文档涉及隐秘或敏感信息的时候,保存到云端存在危险或可能被后台误识别后丢失,这里通过将中文文本转为二进制存到新文档的方式,应该可以避免以上情况

转为二进制

f = open('1.txt', 'r', encoding="gb18030").read()

#定义转码函数
def encode(s):
    tmp = []
    for c in s:
        tmp.append(bin(ord(c)).replace('0b', ''))
    str_bin = ' '.join(tmp)
    return(str_bin)

b = encode(f)

#存文档
f2 = open('2.txt','w')
f2.write(b)

在这里插入图片描述
唯一的缺点就是,这样转出来的文件大小会变大8倍😂

二进制的文档转回

#定义解码函数
def decode(s):
    bin_str = ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
    return bin_str

f3 = open('2.txt','r')
b2 = f3.read()
txt = decode(b2)

#存文档
f4 = open('3.txt','w',encoding='gb18030')
f4.write(txt)
  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值