如何从ASCII转换为hex,反之亦然?
我需要使用C程序将ASCII
转换为HEX
,将HEX
转换为ASCII
。
我怎样才能做到这一点?
这是将一个字符转换为hex字符串的简单函数。
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'; }
它非常简单。 逐字逐句扫描……最好从头开始。 如果字符是介于0和9之间的数字或a和f之间的字母,则将其左移至目前为止找到的位数,将其置于正确的位置。
要转换为字符串然后你做类似的事情,但首先你掩盖和右移值。 然后将它们转换为字符并将它们放在字符串中。