python模块之quopri: quoted-printable编解码
2008-11-28 09:33
841 查看
转载自:http://blog.csdn.net/zhaoweikid/archive/2007/05/31/1633526.aspx
quopri模块和base64模块有点象,都是用来编码和解码的,且base64和quoted-printable这两种编码都是在电子邮件中常见的编码。
quoted-printable的编码方法为: 英文字符除了=以外不做处理,其他字符的编码为=加这个字符的两个字节的16进制数。行尾可用"=\r\n"。
quopri模块只需要使用它的encode,decode,encodestring,decodestring就可以了,前面两个是对文件进行编解码的(也可以对StringIO中的数据编码解码),后面两个是对字符串进行编码解码的。
看看下面的例子:
#-*- encoding: gb2312 -*-
import quopri
a = "only a test数据"
b = quopri.encodestring(a) # 对字符串编码
print b
print quopri.decodestring(b) # 对字符串解码
import StringIO
c = StringIO.StringIO()
d = StringIO.StringIO()
e = 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()
quopri模块和base64模块有点象,都是用来编码和解码的,且base64和quoted-printable这两种编码都是在电子邮件中常见的编码。
quoted-printable的编码方法为: 英文字符除了=以外不做处理,其他字符的编码为=加这个字符的两个字节的16进制数。行尾可用"=\r\n"。
quopri模块只需要使用它的encode,decode,encodestring,decodestring就可以了,前面两个是对文件进行编解码的(也可以对StringIO中的数据编码解码),后面两个是对字符串进行编码解码的。
看看下面的例子:
#-*- encoding: gb2312 -*-
import quopri
a = "only a test数据"
b = quopri.encodestring(a) # 对字符串编码
print b
print quopri.decodestring(b) # 对字符串解码
import StringIO
c = StringIO.StringIO()
d = StringIO.StringIO()
e = 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()
相关文章推荐
- python模块之quopri: quoted-printable编解码
- python模块之quopri: quoted-printable编解码
- [C#] UTF-8 ENCODING=QUOTED-PRINTABLE 的解码和编码
- MIME之Quoted-Printable编解码 选择自 bhw98 的 Blog
- MIME之Quoted-Printable编解码
- ubuntu下python2.7 安装模块ascii不能解码错误解决方案
- eml之quoted-printable 解码
- quoted-printable解码程序
- Quoted-Printable解码后为何还是乱码
- python模块之email: 电子邮件编码解码 (一、解码邮件)
- Python使用email模块对邮件进行编码和解码的实例教程
- quoted-printable 编码与解码
- 读邮件,1:解码quoted-printable
- Python利用Struct模块编解码网络数据
- python模块之email: 电子邮件编码解码 (一、解码邮件)
- Qt quoted Printable 解码
- python模块之email: 电子邮件编码解码 (二、编码邮件)
- python模块之email: 电子邮件编码解码 (一、解码邮件)
- 使用Python的base64 编码模块,编写去除 “=”的解码函数
- python模块之email: 电子邮件编码解码 (二、编码邮件)