【发布时间】:2013-06-10 05:53:44
【问题描述】:
这可能是一个愚蠢的问题,但是……就这样吧!
我用原生 C++ 编写了自己的 MIME 解析器。这是编码的噩梦!过去 3 个月左右它是稳定的,但最近我注意到了这个Subject: header。
Subject: =?UTF-8?B?T2ZpY2luYSBkZSBJbmZvcm1hY2nDs24sIEluaWNpYXRpdmFzIHkgUmVjbGFt?===?UTF-8?B?YWNpb25lcw==?=
应该解码成这个:
Subject: Oficina de Información, Iniciativas y Reclamaciones
问题是那里有一个额外的= (equal),我无法确定绑定两个我不明白为什么要分开的(为什么是2?) 编码元素。理论上格式应该是:=?charset?encoding?encoded_string?=,但发现另一个主题以两个=开头。
==?UTF-8?B?blahblahlblah?=
我应该如何处理多余的=?
我可以在做任何事情之前将==? 替换为=? (我是)(它有效)...但我想知道是否有任何关于此的规范,所以我不会破解正确的功能。
PS:我多么讨厌这些遗物协议!所有文本通信都应该是 UTF-8 和 XML :)
【问题讨论】:
标签: parsing encoding character-encoding protocols mime