Linux c 源码(nMAsciiHexToBinary:将16进制字符串格式转换为ASCII码形式)

来源:互联网 发布:移动网络宽带客服电话 编辑:程序博客网 时间:2024/06/05 19:46

short nMAsciiHexToBinary(unsigned char* vspSourceStr,short          vnSourceStrL,unsigned char* vspDestStr) {if(vnSourceStrL % 2)return -1;for(; vnSourceStrL > 0; vnSourceStrL -= 2) {if(*vspSourceStr >= '0' &&*vspSourceStr <= '9')*vspDestStr = ((*vspSourceStr++) - '0') * 16;else if(*vspSourceStr >= 'a' && *vspSourceStr <= 'f')*vspDestStr = ((*vspSourceStr++) - 'a' + 10) * 16;else if(*vspSourceStr >= 'A' && *vspSourceStr <= 'F')*vspDestStr = ((*vspSourceStr++) - 'A' + 10) * 16;elsereturn -1;if(*vspSourceStr >= '0' &&*vspSourceStr <= '9')(*vspDestStr++) += ((*vspSourceStr++) - '0');else if(*vspSourceStr >= 'a' && *vspSourceStr <= 'f')(*vspDestStr++) += ((*vspSourceStr++) - 'a' + 10);else if(*vspSourceStr >= 'A' && *vspSourceStr <= 'F')(*vspDestStr++) += ((*vspSourceStr++) - 'A' + 10);elsereturn -1;} /* end of for */return 0;} /* end of nMAsciiHexToBinary */

1 0
原创粉丝点击