我需要使用C程序将ASCII
转换为HEX
并将HEX
转换为ASCII
。
我怎么能这样做?
答案 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之间的字母,则将其左移至目前为止找到的位数,将其置于正确的位置。
为了转换为字符串然后你做类似的事情,但首先你屏蔽并右移值。然后将它们转换为字符并将它们放在字符串中。