#define char2num(in) ((in > '9') ? ((in >= 'a' && in <= 'z') ? (in - 32 - 'A' + 10):(in - 'A' + 10)) : (in - '0'))
unsigned char*Her2bin::hex2byte(constunsigned char *input,unsigned int inlen,unsigned int *outlen)
{
unsigned char *output =NULL;
unsigned int i =0, q = 0;
if (input == NULL || inlen ==0)
return NULL;
if(inlen%2!=0)
return NULL;
*outlen = inlen /2;
output =new unsignedchar[*outlen + 1];
for(q=0;q<inlen;q+=2)
{
output[i] =char2num(input[q]) << 4;
output[i++] |=char2num(input[q + 1]);
}
output[*outlen] ='\0';
return output;
}
// 调用 data[@"imgUrl"] 服务器返回的字符串数据
Her2bin *_her2bin = newHer2bin();
unsigned int nn =0;
const char* pp = [data[@"imgUrl"]UTF8String];
unsigned char*out = _her2bin->hex2byte((unsignedchar*)pp, (int)strlen(pp), &nn);
NSString *string = [NSStringstringWithUTF8String:(char*)out];
NSLog(@"shareImgUrl:%@",string);
delete[]out;
delete _her2bin;