首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎么把QUOTED-PRINTABLE编码的内容解析成Unicode编码内容

2012-03-21 
如何把QUOTED-PRINTABLE编码的内容解析成Unicode编码内容?哪位仁兄有好的方法请不吝赐教啊!感激万分![解决

如何把QUOTED-PRINTABLE编码的内容解析成Unicode编码内容?
哪位仁兄有好的方法请不吝赐教啊!感激万分!

[解决办法]
int DecodeQuoted(const char* pSrc, unsigned char* pDst, int nSrcLen)
{
int nDstLen; // 输出的字符计数
int i;

i = 0;
nDstLen = 0;

while (i < nSrcLen)
{
if (strncmp(pSrc, "=\r\n ", 3) == 0) // 软回车,跳过
{
pSrc += 3;
i += 3;
}
else
{
if (*pSrc == '= ') // 是编码字节
{
sscanf(pSrc, "=%02X ", pDst);
pDst++;
pSrc += 3;
i += 3;
}
else // 非编码字节
{
*pDst++ = (unsigned char)*pSrc++;
i++;
}

nDstLen++;
}
}

// 输出加个结束符
*pDst = '\0 ';

return nDstLen;
}
将解码之后的数据用mbstocws成unicode即可
有中文的话需要先调用setlocale(LC_ALL, "chs ");

热点排行