数字字符串转十六进制

来源:互联网 发布:ubuntu复制文件命令 编辑:程序博客网 时间:2024/06/12 00:39

数字字符串转十六进制

char HexChar(char c){if((c>='0')&&(c<='9'))return c-0x30;else if((c>='A')&&(c<='F'))return c-'A'+10;else if((c>='a')&&(c<='f'))return c-'a'+10;else return 0x10;}

//将一个字符串作为十六进制串转化为一个字节数组,字节间可用空格分隔,//返回转换后的字节数组长度,同时字节数组长度自动设置。int Str2Hex(CString str, char* data){int t,t1;int rlen=0,len=str.GetLength();//data.SetSize(len/2);for(int i=0;i<len;){char l,h=str[i];if(h==' '){i++;continue;}i++;if(i>=len)break;l=str[i];t=HexChar(h);t1=HexChar(l);if((t==16)||(t1==16))break;else t=t*16+t1;i++;data[rlen]=(char)t;rlen++;}return rlen;}