我用pop3接受邮件,取得的邮件在邮件主题或者正文中出现 =?GB2312?Q?=XX=XX....?=或者=?gb2312?b?XXXXXXXXX?=的字样,中间的XXXX显示就是乱七八糟的英文或者数字的字符。我猜想=?和?=应该起到括号作用,其中的字符使用了GB2312?Q?编码方式或者GB2312?B?编码方式。那个GB2312?Q?还好懂,只要把 =XX翻译成一个字节就可以了。但是那个GB2312?B?的编码方式百思不得其解,望高手指点。

解决方案 »

  1.   

    是我自己写邮件接受的程序。我在VC中用CSocket建立TCP连接邮件服务器110端口使用pop3的协议获得的信息。所以我需要知道怎么解码GB2312?B?。望不吝赐教
      

  2.   

    那是base64的编码
    =?是对齐用的吧
    然后是gb2312表示你的字符集
    然后又是?b?这个我的理解是分隔用的
    然后就是经过base64编码后的内容
    最后是?=的结束符你只需把中间的base64的编码后的内容还原就可以了
      

  3.   

    可惜来晚了,
    不过还是发点东西
    下面的链接好好研究以下吧http://community.csdn.net/Expert/TopicView.asp?id=3328972
    看看我的留言
      

  4.   

    我前几天在一个MIME的例程里看到一个Base64的类,于是猜测着用Base64解码居然就成功了。现在只碰到过邮件里面有用GB2312?B?和GB2312?Q?的两种编码格式,现在都可以解了。开始还担心是不是会出现第三种编码方式。看过梦幻水晶的帖子就放心了
    如果两位老兄早点看到这个帖子就更好了。能少走好多弯路。