python对于gbk的解码问题

hollin1988 2012-09-04 02:43:57
=?gbk?B?PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?=

对于类似这样的字符串,我好像用了网上几种解码方式都不行啊,我用的是python3.2

send_mail_list = email.header.decode_header(msg.get("From"))
send_mail = send_mail_list[0][0].decode(send_mail_list[0][1])

这样解不开,然后用了下面哪种也解不开

h = email.Header.Header(msg.get("From"))
send_mail = email.Header.decode_header(h)


因为提示:AttributeError: 'module' object has no attribute 'Header'

我已经import email了
...全文
359 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hollin1988 2012-09-04
  • 打赏
  • 举报
回复
后来的是对的,thanks
hollin1988 2012-09-04
  • 打赏
  • 举报
回复
我用的python3.2好像打印你一模一样的东西,但是报错
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print(base64.b64decode('PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?='))
File "C:\Python32\lib\base64.py", line 83, in b64decode
raise TypeError("expected bytes, not %s" % s.__class__.__name__)
TypeError: expected bytes, not str
bugs2k 2012-09-04
  • 打赏
  • 举报
回复
Python 3.2.3 (default, Apr 11 2012, 07:15:24) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import base64
>>> a = b'=?gbk?B?PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?='
>>> b = base64.b64decode(a)
>>> print(b)
b'\x81\xb9\x01<service@elin.tracemon.com>'
>>>
Gloveing 2012-09-04
  • 打赏
  • 举报
回复
说的内容是:
=?gbk?B?PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?=
前面:=?gbk?B? -》说明字符是先经过gbk编码的,同时也起到分隔的作用
后面的是邮件内容的一项:PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?=
>>> import base64
>>> print base64.b64decode('PHNlcnZpY2VAZWxpbi50cmFjZW1vbi5jb20+?=')
<service@elin.tracemon.com>
>>>
Gloveing 2012-09-04
  • 打赏
  • 举报
回复
这是右键内容吧?
这是base64编码

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧