求Quoted-Printable编码、解码的能运行的C或者C++程序 在网络上搜索了一些,但是不能用http://www.csdn.net/develop/read_article.asp?id=19205也不能用,害的我还麻烦了1天时间急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 I have got the decode for quoted_printable code source, but pity i have no encode source, so paste my codes here, and hope you will get the encode earlier, and don't forget tell me :)#define SKIP '\202'const char hexmap[] = { SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, 10, 11, 12, 13, 14, 15, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP};char* Decode_quoted_printable(char *input){ char *s = input; char *finalresult = (char*)calloc(strlen(input) + sizeof(char), sizeof(char)); char *result = finalresult; while (*s != '\0') //loop through the entire string... { if (*s == '=') //woops, needs to be decoded... { for (int i = 0; i < 3; i++) //is s more than 3 chars long... { if (s[i] == '\0') { //error in the decoding... //ErrorCode = 1; return finalresult; } } char mid[3]; s++; //move past the "=" //let's put the hex part into mid... bool ok = true; for (i = 0; i < 2; i++) { if (hexmap[s[i]] == SKIP) { //we have an error, or a linebreak, in the encoding... ok = false; if (s[i] == '\r' && s[i + 1] == '\n') { s += 2; //*(result++) = '\r'; //*(result++) = '\n'; break; } else { //we have an error in the encoding... //ErrorCode = 1; //s--; } } mid[i] = s[i]; } //now we just have to convert the hex string to an char... if (ok) { s += 2; int m = hexmap[mid[0]]; m <<= 4; m |= hexmap[mid[1]]; *(result++) = m; } } else { if (*s != '\0') *(result++) = *(s++); } } return finalresult;} 剪贴板操作咨询 如何把做好的单文档嵌入到一个对话框里 MFC程序写哪儿? 怎样使程序只运行一个实例,并且当用户打开文件产生程序实例时自动用本程序的第一个实例打开 大家的眼睛还好吗? 什么治疗进视眼最好?? 如何在单机上测试C/S程序? 如何判断一个线程的状态? <windows程序设计>中InvalidateRect函数的疑问?? 如何更新控件? 如何在视图中得到菜单的指针 如何在MDI程序中通过新建菜单打开指定的子窗口 请问一个MDI的MFC程序中,能有几个ChildFrame?
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ,
8 , 9 , SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, 10, 11, 12, 13, 14, 15, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP,
SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP, SKIP
};char* Decode_quoted_printable(char *input)
{
char *s = input;
char *finalresult = (char*)calloc(strlen(input) + sizeof(char), sizeof(char));
char *result = finalresult;
while (*s != '\0') //loop through the entire string...
{
if (*s == '=') //woops, needs to be decoded...
{
for (int i = 0; i < 3; i++) //is s more than 3 chars long...
{
if (s[i] == '\0')
{
//error in the decoding...
//ErrorCode = 1;
return finalresult;
}
}
char mid[3];
s++; //move past the "="
//let's put the hex part into mid...
bool ok = true;
for (i = 0; i < 2; i++)
{
if (hexmap[s[i]] == SKIP)
{
//we have an error, or a linebreak, in the encoding...
ok = false;
if (s[i] == '\r' && s[i + 1] == '\n')
{
s += 2;
//*(result++) = '\r';
//*(result++) = '\n';
break;
}
else
{
//we have an error in the encoding...
//ErrorCode = 1;
//s--;
}
}
mid[i] = s[i];
}
//now we just have to convert the hex string to an char...
if (ok)
{
s += 2;
int m = hexmap[mid[0]];
m <<= 4;
m |= hexmap[mid[1]];
*(result++) = m;
}
}
else
{
if (*s != '\0') *(result++) = *(s++);
}
} return finalresult;
}