C語言 16進位制與ascii碼互轉
阿新 • • 發佈:2018-12-15
/*把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; }
/*把16進位制轉換為ASCII字元 */ uint8_t hex_to_char(const uint8_t ch) { uint8_t value = 0; if(ch >= 0x30 && ch <=0x39) { value = ch - 0x30; }
//printf("%s ascii : 0x%02x\n", __func__, value); return value; }