python模块之quopri: quoted-printable编解码

quopri模块和base64模块有点象,都是用来编码和解码的,且base64和quoted-printable这两种编码都是在电子邮件中常见的编码。
quoted-printable的编码方法为: 英文字符除了=以外不做处理,其他字符的编码为=加这个字符的两个字节的16进制数。行尾可用"=/r/n"。

quopri模块只需要使用它的encode,decode,encodestring,decodestring就可以了,前面两个是对文件进行编解码的(也可以对StringIO中的数据编码解码),后面两个是对字符串进行编码解码的。

看看下面的例子:
#-*- encoding: gb2312 -*-
import quopri

= "only a test数据"
= quopri.encodestring(a) # 对字符串编码
print b
print quopri.decodestring(b) # 对字符串解码

import StringIO

= StringIO.StringIO()
= StringIO.StringIO()
= StringIO.StringIO()

c.write(a)
c.seek(0)

quopri.encode(c, d, 0)  
# 编码StringIO中的数据, 第三个参数0表示不对空格和tab符号编码,为1表示进行编码
print d.getvalue()
d.seek(0)
quopri.decode(d, e)  
# 解码StringIO中的数据
print e.getvalue()

f1 
= open("aaa.txt""w")
f1.write(a)
f1.close()

f1 
= open("aaa.txt""r")
f2 
= open("bbb.txt""w")

quopri.encode(f1, f2, 0) 
# 编码aaa.txt中的数据到bbb.txt

f1.close()
f2.close()

print open("bbb.txt""r").read()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值