1. 程式人生 > >C語言 16進位制與ascii碼互轉

C語言 16進位制與ascii碼互轉

/*把ASCII字元轉換為16進位制 */ uint8_t char_to_hex(const uint8_t *ch) { uint8_t value = 0; if(*ch >= 0 && *ch <= 9) { value = *ch + 0x30; } else if(*ch >=10 && *ch <=15) { // 大寫字母 value = *ch + 0x37; }
  //printf("%s hex : 0x%02x\n", __func__, value); return value; }

/*把16進位制轉換為ASCII字元 */ uint8_t hex_to_char(const uint8_t ch) { uint8_t value = 0; if(ch >= 0x30 && ch <=0x39) { value = ch - 0x30; }
else if(ch >= 0x41 && ch <= 0x46) { value = ch - 0x37; } else if(ch >= 0x61 && ch <= 0x66) { value = ch - 0x57; }
//printf("%s ascii : 0x%02x\n", __func__, value); return value; }