如何从ASCII转换为Hex,反之亦然?

时间:2010-07-09 13:08:59

标签: c

我需要使用C程序将ASCII转换为HEX并将HEX转换为ASCII
我怎么能这样做?

2 个答案:

答案 0 :(得分:7)

这是一个将一个字符转换为十六进制字符串的简单函数。

char hexDigit(unsigned n)
{
    if (n < 10) {
        return n + '0';
    } else {
        return (n - 10) + 'A';
    }
}

void charToHex(char c, char hex[3])
{
    hex[0] = hexDigit(c / 0x10);
    hex[1] = hexDigit(c % 0x10);
    hex[2] = '\0';
}

答案 1 :(得分:2)

非常简单。逐字逐句扫描......最好从头开始。如果字符是介于0和9之间的数字或a和f之间的字母,则将其左移至目前为止找到的位数,将其置于正确的位置。

为了转换为字符串然后你做类似的事情,但首先你屏蔽并右移值。然后将它们转换为字符并将它们放在字符串中。