char ConvertHexChar(char ch)
{
if((ch>='0')&&(ch <='9'))
return ch-0x30;
else if((ch>='A')&&(ch <='F'))
return ch-'A'+10;
else if((ch>='a')&&(ch <='f'))
return ch-'a'+10;
else return (-1);
}
int String2Hex(string str,char a[]) //返回的是a的长度
{
int hexdata,lowhexdata;
int hexdatalen=0;
int len=str.size();
for(int i=0;i <len;)
{
char lstr,hstr=str[i];
if(hstr==' ')
{
i++;
continue;
}
i++;
if(i>=len)
break;
lstr=str[i];
hexdata=ConvertHexChar(hstr);
lowhexdata=ConvertHexChar(lstr);
if((hexdata==16) || (lowhexdata==16))
{
break;
}
else
{
hexdata=hexdata*16+lowhexdata;
}
i++;
a[hexdatalen]=(char)hexdata;
hexdatalen++;
}
return hexdatalen;
}