16进制和ASCII码的转换

dingxiaotao 2011-05-11 02:18:19
帮忙写个16进制和ASCII码相互转换的程序,函数声明如下
int HexToAscii(char *dest, const char *src, size_t length);
描述:该函数将16进制字符串转换成Ascii码字符串,dest为目标字符串,src为源字符串,length为需要转换的字符串的长度,返回值为转换成功后目标串的长度。
int AsciiToHex(char *dest, const char *src, size_t length);
描述:该函数将Ascii字符串转换成16进制字符串,dest为目标字符串,src为源字符串,length为需要转换的字符串的长度,返回值为转换成功后目标串的长度。
...全文
212 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
孤独小剑 2011-05-13
  • 打赏
  • 举报
回复
二楼用移位效率比较高啊
孤独小剑 2011-05-13
  • 打赏
  • 举报
回复
16进制转ascii有系统函数好像,ascii转16进制好像没有,要自己写了。
justkk 2011-05-11
  • 打赏
  • 举报
回复
void HexToAscii(char *t, const char *s, int l)
{
int i;
unsigned char c;

if( t == NULL || s == NULL ) return;

for( i = 0; i < l; i++ )
{
c = (s[i] >> 4) & 0x0F;
t[2*i] = (c <= 0x9) ? c + 0x30 : c + 0x37;

c = s[i] & 0x0F;
t[2*i + 1] = (c <= 0x9) ? c + 0x30 : c + 0x37;
}
t[2*i] = 0;
}

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧