怎样使得两个ASCII码字符转换为一个字节16进制数据

2019-07-15 15:26发布

如:ASCII码   ‘A’,‘C’,如何使得该两个字符转换成0xAC,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
mioc
1楼-- · 2019-07-15 16:09
bpengj3375 发表于 2015-12-6 12:10
那0到9呢?不能这样做吗?把‘1’和‘2’变为0x12,谢谢指点!

...你的需求里面没有写0-9.。。。。。我还以为你不需要。。。。自己增加一个字符就好了 最佳答案
mioc
2楼-- · 2019-07-15 20:33
#include <stdio.h>
#include <stdlib.h>

//ASCII码   ‘A’,‘C’,如何使得该两个字符转换成0xAC

//按照你的要求,应该只能输入ABCDEF这个六个英文汉字

unsigned char change(unsigned char a,unsigned char b)
{
        unsigned char ucTmp = 0x00;
        
        if( ( (a >= 'A') && (a <= 'F') )&& ( (b >= 'A') && (b <= 'F') ) )
        {
                ucTmp = (a - 'A' + 10 << 4) | (b - 'A' + 10 << 0);
        }
        
        if( ( (a >= 'a') && (a <= 'f') )&& ( (b >= 'a') && (b <= 'f') ) )
        {
                ucTmp = (a - 'a' + 10 << 4) | (b - 'f' + 10 << 0);
        }
        
        printf("0x%02x",(int)ucTmp);
        
        return ucTmp;
}

int main()
{
        change('A','D');
        system("pause");
        return 0;
}
bpengj3375
3楼-- · 2019-07-15 21:17
mioc 发表于 2015-12-4 22:00
#include
#include

那0到9呢?不能这样做吗?把‘1’和‘2’变为0x12,谢谢指点!

一周热门 更多>