设为首页 加入收藏

TOP

Linux C 源码(nMAsciiHexToBinary:将16进制字符串格式转换为ASCII码形式)
2015-11-10 13:45:30 来源: 作者: 【 】 浏览:4
Tags:Linux 源码 nMAsciiHexToBinary 进制 字符串 格式 转换 ASCII 形式

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


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;
else
return -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);
else
return -1;
} /* end of for */



return 0;
} /* end of nMAsciiHexToBinary */


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux网络编程--epoll 模型原理详.. 下一篇Linux C 源码(issockettype:套接..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: