【C/C++业务】十六进制与ASCII码互相转换

十六进制转ASCII码

unsigned char HexToChar(unsigned char bChar)
{
    if ((bChar >= 0x30) && (bChar <= 0x39))
    {
        bChar -= 0x30;
    }
    else if ((bChar >= 0x41) && (bChar <= 0x46)) // 大写
    {
        bChar -= 0x37;
    }
    else if ((bChar >= 0x61) && (bChar <= 0x66)) //小写
    {
        bChar -= 0x57;
    }
    else
    {
        bChar = 0xff;
    }
    return bChar;
}

ASCII码转十六进制

unsigned char CharToHex(unsigned char bHex)
{
    if ((bHex >= 0) && (bHex <= 9))
    {
        bHex += 0x30;
    }
    else if ((bHex >= 10) && (bHex <= 15)) //Capital
    {
        bHex += 0x37;
    }
    else
    {
        bHex = 0xff;
    }
    return bHex;
}

十六进制字符串转十六进制(十进制)数字

    unsigned char l_u8Hex[10];
    unsigned int l_u16Status = 0;
	l_u8Hex[0] = '0', l_u8Hex[1] = '1', l_u8Hex[2] = 'C', l_u8Hex[3] = '2';
    l_u8Hex[4] = '\0';
    l_u16Status = strtol((char*)l_u8Hex, NULL, 16);
	printf("======>>>>>%x---%d<<<<<<=====\n", l_u16Status, l_u16Status);//"01c2"--->0x01c2(450)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值