HexsTostr_16进制转换到字符串

16进制文本转换到字符串
/**
 * \brief 16进制转换到字符串
 * \param buf 字符串缓冲区
 * \param len 字符串长度
 * \return 返回字符串指针,需要手动释放
 */
char* hex_to_str(const unsigned char* buf, const int len)
{
    const auto ni_bf_len = len * 3 + 1;
    const auto ret= new char[ni_bf_len]{0};
    auto tem = ret;
    for (size_t i = 0; i < len; i++)
    {
        const auto c = buf[i];
        unsigned char a = c >> 4;
        unsigned char b = c & 0xF;
        if (a >= 10 && a <= 15)
            a += 55;
        if (a >= 0 && a <= 9)
            a += 0x30;
        if (b >= 10 && b <= 15)
            b += 55;
        if (b >= 0 && b <= 9)
            b += 0x30;
        *tem++ = a;
        *tem++ = b;
        *tem++ = ' ';
    }
    return ret;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值