字符串转换
把www.hao123.com 转换成\x77\x77\x77\x06\x68\x61\x6f\x31\x32\x33\x03\x63\x6f\x6d 这种形式有没有直接转换的函数,帮忙写一下,3Q
[解决办法]
不明白为什么第一个.对应\x06,第二个.对应\x03
[解决办法]
char dest[20] = {0};
sprintf(dest, "\\x%02x", 'w');
单字符时,自己可以遍历下。
[解决办法]
void StrToHexA( const CStringA strSrc ,CStringA &strHex){ int ilength = strSrc.GetLength(); char *p = new char[4*ilength+1]; if (!p) { assert("not enough memory!"); return; } memset(p,0,4*ilength+1); char *pTemp = p; for (int i=0;i<ilength;++i) { char c = strSrc.GetAt(i); *pTemp = '\'; *(pTemp+1) = 'x'; *(pTemp+2) = hexVals[(c&0xf0)>>4]; *(pTemp+3) = hexVals[(c&0x0f)]; pTemp +=4; } *(p+4*ilength)='\0'; CStringA strTemp(p); strHex = strTemp; delete[] p;}
[解决办法]
少了一句定义
char hexVals[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};