def decode(input_str):
result = ''
search_result = re.search('=\?([^\?]*)\?([^\?]*)\?([^\?]*)\?=', input_str)
while search_result is not None:
charset, tp, text = search_result.groups()
s = search_result.start(0)
e = search_result.end(0)
text = text.encode('cp866', 'ignore').decode('cp866', 'ignore')
result += input_str[:s]
input_str = input_str[e:].lstrip()
if tp.lower() != 'q':
result += base64.b64decode(text.encode('cp866')).decode(charset, 'ignore')
else:
result += quopri.decodestring(text).decode(charset, 'ignore')
search_result = re.search('=\?([^\?]*)\?([^\?]*)\?([^\?]*)\?=', input_str)
else:
result += input_str
return result
评论列表
文章目录