怎么将16进制转换成ASCII码? 5

fad1e0617af35d57b328da2fbeda2f27d65d45f277d41dee220bd3873c26e0cf转换成ASCII码是多少?有没有这种转换器... fad1e0617af35d57b328da2fbeda2f27d65d45f277d41dee220bd3873c26e0cf转换成ASCII码是多少?有没有这种转换器呀,可以发到我邮箱吗?1538745035@qq.com,谢谢 展开
 我来答
White_MouseYBZ
2012-07-17 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6382万
展开全部
每个数字+0x30,每个字母+0x37就成了。比如开头五个fad1e:
f的16进制是1111,加0x37即1111+00110111=01000110=0x46;
a的16进制是1010,加0x37即1010+00110111=01000001=0x41;
d的16进制是1101,加0x37即1101+00110111=01000100=0x44;
1的16进制是0001,加0x37即0001+00110111=00110001=0x31;
e的16进制是1110,加0x37即1110+00110111=01000101=0x45。
所以16进制数fad1e的ASCII码就是:46 41 44 31 45。
其他的你就照猫画虎吧……
百度网友8e9a4fe
2018-03-30 · TA获得超过1702个赞
知道小有建树答主
回答量:5
采纳率:100%
帮助的人:642
展开全部

ASCII码本身也是由8位的数字,指示表现的形式不同而已。

比如说字符 i j k l m其实就是十进制的 105 106 107 108 109 也是十六进制的0x69 0x6A 0x6B 0x6C 0x6D,它们在计算机内部的存储方式都是二进制存储的。我想,你所位的转换,是只在屏幕上显示的转换。

比如说:

char a = 'm'

printf("Display by decimalization: %d",a);

printf("Display by Hex: %x",a);

printf("Display by character: %c",a);

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
高茂程
推荐于2017-11-26 · TA获得超过260个赞
知道答主
回答量:130
采纳率:100%
帮助的人:45.7万
展开全部
有没有这种的转换器我不知道!不过觉得可以用软件 就能实现的! 先判断一个是是否为数字、如是则将其加30H、否则 其为字母、则将其加37H!
if(a[i]<=9)
{a[i]=a[i]+0x30;}
else
{a[i]=a[i]+0x37;}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
早迎人H
2017-10-09 · TA获得超过1054个赞
知道小有建树答主
回答量:962
采纳率:0%
帮助的人:779万
展开全部
16进制数为0~F的组合(例如3FFF, 就像10进制数是0~9的组合一样), 而ASCII码是一组符号集合,
它用一个8位(一个字节)的二进制数来表示字符(因为计算机用二进制数来运算), 其中0~9对应的二进制数为0x30~0x39,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
把爱邮寄过来
2018-10-08
知道答主
回答量:4
采纳率:0%
帮助的人:2282
展开全部
char *str="fad1e0617af35d57b328da2fbeda2f27d65d45f277d41dee220bd3873c26e0cf";
char buf[strlen(str)]={0};
for(int i=0;i<strlen(str);i++){

if(str[i]<10){ //小于10的,加0x30,(0~9)
buf[i]=str[i]+0x30;
}else if(str[i]>=10){ //大于10的,加0x37,(A~Z) (变小写加0x57)
buf[i]=str[i]+0x37;
}
}
printf("%s\r\n",buf);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式