免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15594 | 回复: 5
打印 上一主题 下一主题

一个十六进制的字符串如何转换为ascii字符串呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-05 17:22 |只看该作者 |倒序浏览
十六进制字符串:213032303144314239343330314646373733433030303130323030333130393030303330313032303030333030303430303035303032303033303730303038303030393030304130303031303130323031313130313132303131333031313430313135303132303031333030313331303134303031303130353032303537464134210d


如何转换为普通的ascii字符串呢?

十六进制是别人把传输字符串转换为了十六进制的字符串,我需要还原为原来的字符串。

论坛徽章:
0
2 [报告]
发表于 2007-09-05 17:28 |只看该作者
真的是不明白你想做什么,为啥说那是16进制,我还觉得是10进制呢

论坛徽章:
0
3 [报告]
发表于 2007-09-05 17:30 |只看该作者
WINHEX
choc 该用户已被删除
4 [报告]
发表于 2007-09-05 18:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2007-09-06 11:04 |只看该作者
#include <stdio.h>
char *AsciiToChar(char *asc,char str[])
{
int i=0,n=0,len;
char cTemp[1024];
memset(cTemp,0x00,sizeof(cTemp));
strcpy(cTemp,asc);
len=strlen(cTemp);
for(i=0;i<len;i+=2)
  {
        if(('0'<=cTemp[i]&&cTemp[i]<='9')&&('0'<=cTemp[i+1]&&cTemp[i+1]<='9'))
                str[n++]=(char)(cTemp[i]<<4|(cTemp[i+1]&0x0F));
        else if('0'<=cTemp[i]&&cTemp[i]<='9'&&('A'<=cTemp[i+1]&&cTemp[i+1]<='F')
)
                str[n++]=(char)(cTemp[i]<<4|(cTemp[i+1]-0x37));
        else if(('A'<=cTemp[i]&&cTemp[i]<='F')&&('0'<=cTemp[i+1]&&cTemp[i+1]<='9
'
))
                str[n++]=(char)(((cTemp[i]-0x37)<<4)|(cTemp[i+1]&0x0F));
        else if(('A'<=cTemp[i]&&cTemp[i]<='F')&&('A'<=cTemp[i+1]&&cTemp[i+1]<='F
'
))
                str[n++]=(char)(((cTemp[i]-0x37)<<4)|(cTemp[i+1]-0x37));
        else
                printf("your input is wrong!!");
  }
str[n]='\0';
return str;
}
int main()
{
char strin[1024];
int i;
memset(strin,0x00,sizeof(strin));
printf("%s\n",AsciiToChar("3132333435D6D0B6ABD6D0",strin));
exit(0);
}
不知道这个能不能达到你的要求

论坛徽章:
0
6 [报告]
发表于 2010-04-08 15:06 |只看该作者
2.c: 在函数 ‘AsciiToChar’ 中:
2.c:6: 警告:隐式声明与内建函数 ‘memset’ 不兼容
2.c:7: 警告:隐式声明与内建函数 ‘strcpy’ 不兼容
2.c:8: 警告:隐式声明与内建函数 ‘strlen’ 不兼容
2.c:16: 错误:缺少结尾的 ' 字符
2.c:17: 错误:缺少结尾的 ' 字符
2.c:18: 错误:赋值运算中的左值无效
2.c:18: 错误:expected ‘)’ before ‘;’ token
2.c:19: 错误:缺少结尾的 ' 字符
2.c:20: 错误:缺少结尾的 ' 字符
2.c:35: 错误:expected declaration or statement at end of input
2.c:35: 错误:expected declaration or statement at end of input
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP