求将16进制:ae391b74b1ff6f8396a2110a66870c292df545a051418cdb62fb0d2637a6312e转化成ASII值。
答案:3 悬赏:30
解决时间 2021-03-25 02:38
- 提问者网友:沦陷
- 2021-03-24 02:09
求将16进制:ae391b74b1ff6f8396a2110a66870c292df545a051418cdb62fb0d2637a6312e转化成ASII值。
最佳答案
- 二级知识专家网友:蓝房子
- 2021-03-24 02:40
你是要转换成ASCII码字符吧?
"ae391b74b1ff6f8396a2110a66870c292df545a051418cdb62fb0d2637a6312e"这是一个字符串,每个十六进制位为4个二进制位,那么两位十六进制数对应一个字节,也就是一个字符,可以把这个字符串每两位数的字符解析一下它的值,转换成ASCII字符最后连接起来。
每两位16进制数字符串解析其值并转换成ASCII字符可参考如下函数:
int HexStr2char(char a[2])
{
int a,b;
if (a[0]>='0' && a[0]<='9') a=a[0]-'0';
else if(a[0]>='a' && a[0]<='f')) a=a[0]-'a'+10;
else if(a[0]>='A' && a[0]<='F')) a=a[0]-'A'+10;
else return -1;
if (a[1]>='0' && a[1]<='9') b=a[1]-'0';
else if(a[1]>='a' && a[1]<='f')) b=a[1]-'a'+10;
else if(a[1]>='A' && a[1]<='F')) b=a[1]-'A'+10;
else return -1;
return a*16+b;
}
"ae391b74b1ff6f8396a2110a66870c292df545a051418cdb62fb0d2637a6312e"这是一个字符串,每个十六进制位为4个二进制位,那么两位十六进制数对应一个字节,也就是一个字符,可以把这个字符串每两位数的字符解析一下它的值,转换成ASCII字符最后连接起来。
每两位16进制数字符串解析其值并转换成ASCII字符可参考如下函数:
int HexStr2char(char a[2])
{
int a,b;
if (a[0]>='0' && a[0]<='9') a=a[0]-'0';
else if(a[0]>='a' && a[0]<='f')) a=a[0]-'a'+10;
else if(a[0]>='A' && a[0]<='F')) a=a[0]-'A'+10;
else return -1;
if (a[1]>='0' && a[1]<='9') b=a[1]-'0';
else if(a[1]>='a' && a[1]<='f')) b=a[1]-'a'+10;
else if(a[1]>='A' && a[1]<='F')) b=a[1]-'A'+10;
else return -1;
return a*16+b;
}
全部回答
- 1楼网友:舊物识亽
- 2021-03-24 05:41
。。。
追问:不是这样问的吗?
追问:不是这样问的吗?
- 2楼网友:执傲
- 2021-03-24 04:01
�9t��o���f�-�E�QA��b�&7�1
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯