VC有没有JS里面encodeURIComponent函数 还有其它一下 URL 编码的函数 ,在MSDN里我没找到 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://hi.baidu.com/jetqu2003/blog/item/c15026a2c8937fabcaefd032.html class CURLCode {public: CURLCode(){}; virtual ~CURLCode(){}; string Encode(const char* lpszData); string Decode(string inTmp);private: inline BYTE toHex(const BYTE &x){ return x > 9 ? x + 55: x + 48; } inline BYTE fromHex(const BYTE &x){ return x > 64 ? x - 55 : x - 48; }}; string CURLCode::Encode(const char* lpszData){ string strResult = ""; unsigned char* pInTmp = (unsigned char*)lpszData; // do encoding while (*pInTmp) { if(isalnum(*pInTmp)) strResult += *pInTmp; else if(isspace(*pInTmp)) strResult += '+'; else { strResult += '%'; strResult += toHex(*pInTmp>>4); strResult += toHex(*pInTmp%16); } pInTmp++; } return strResult;}string CURLCode::Decode(string inTmp){ string strResult = ""; int inlen = inTmp.length(); for(int i=0;i<inlen;i++) { if(inTmp.at(i)=='%') { i++; char c = fromHex(inTmp.at(i++)); c = c << 4; c += fromHex(inTmp.at(i)); strResult += c; } else if(inTmp.at(i)=='+') strResult += ' '; else strResult += inTmp.at(i); } return strResult;} 简单就用 UrlEscape精细控制就用 InternetCanonicalizeUrl 我用JS的encodeURIComponent把“汽车”转换成了“%E6%B1%BD%E8%BD%A6”用 InternetCanonicalizeUrl 没做到。。 InternetCanonicalizeUrl 用一个函数就能搞定啊 还是怎么弄? InternetCanonicalizeUrl 根本就编码不了中文 所以做不到我要的代替encodeURIComponent的结果 自己搞定了,没有现成的API 自己找代码改的!!!效果和encodeURIComponent完全一样(包括过滤的字符都对过了) 有没有支持VS2010 MFC 的皮肤包吖 如何进行视频录像? 如何判断一个dll、ocx文件是不是需要注册呀,好象有的注册后才能用,可是有的不用注册 C++关于自增运算符的问题 关于完成端口,传送文件(传送过程中的包使用结构)... 傻瓜问题 请教,类如何继承的问题? 我这段代码实现的托盘为什么鼠标放上去就消失? [求助] 如何在对话框里显示BMP图片? ^-^你可以做的到吗???试试就知道啦!^-^ 什么也不说,看图! Cstring 类,的小问题
class CURLCode
{
public:
CURLCode(){};
virtual ~CURLCode(){};
string Encode(const char* lpszData);
string Decode(string inTmp);private:
inline BYTE toHex(const BYTE &x){ return x > 9 ? x + 55: x + 48; }
inline BYTE fromHex(const BYTE &x){ return x > 64 ? x - 55 : x - 48; }
}; string CURLCode::Encode(const char* lpszData)
{
string strResult = "";
unsigned char* pInTmp = (unsigned char*)lpszData;
// do encoding
while (*pInTmp)
{
if(isalnum(*pInTmp))
strResult += *pInTmp;
else
if(isspace(*pInTmp))
strResult += '+';
else
{
strResult += '%';
strResult += toHex(*pInTmp>>4);
strResult += toHex(*pInTmp%16);
}
pInTmp++;
}
return strResult;
}string CURLCode::Decode(string inTmp)
{
string strResult = "";
int inlen = inTmp.length();
for(int i=0;i<inlen;i++)
{
if(inTmp.at(i)=='%')
{
i++;
char c = fromHex(inTmp.at(i++));
c = c << 4;
c += fromHex(inTmp.at(i));
strResult += c;
}
else if(inTmp.at(i)=='+')
strResult += ' ';
else
strResult += inTmp.at(i);
}
return strResult;
}
精细控制就用 InternetCanonicalizeUrl