string YAC_Encoder::utf82gbk(const string &sIn) { if(sIn.length() == 0) { return ""; } string sOut; int iLen = sIn.length() * 2 + 1; char *pOut = new char[iLen]; try { utf82gbk(pOut, iLen, sIn.c_str(), sIn.length()); } catch (YAC_Encoder_Exception& e) { delete[] pOut; throw e; } sOut.assign(pOut, iLen); delete[] pOut; return sOut; }
int URLEncodeGBK(const char* str, const int strSize, char* result, const int resultSize){ char buf[2048]; int len=utf82gbk(buf,str,2048); return URLEncode(buf, len, result, resultSize); }