1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言字符串转十六进制数例如“2a”转换成0x2a

C语言字符串转十六进制数例如“2a”转换成0x2a

时间:2019-10-15 23:15:36

相关推荐

C语言字符串转十六进制数例如“2a”转换成0x2a

参与公司的web server项目时,在与网页的信息处理中,要将12个字节的字符串例如“012a3b4d5e6f”,转换为十六进制数0x01,0x2a,0x3b,0x4d,0x5e,0x6f

#define uint8_t unsigned char#define BUILD_UINT8(loByte, hiByte ) \((uint8_t)(((loByte) & 0x0F) + (((hiByte) & 0x0F) << 4)))int main(){char ID1[12] = "012a3b4c5b6d";uint8_t mesh_id[6];uint8_t temp_id[12];int i;for(i = 0; i < 12 ; i++) {if(ID1[i] >= '0' && ID1[i] <= '9') {temp_id[i] = ID1[i] - '0';} else {temp_id[i] = ID1[i] - 'a' + 10;}printf(" %d = %d ", i, temp_id[i]);}for(i = 0; i < 12 ;) {mesh_id[i/2] = BUILD_UINT8(temp_id[i+1], temp_id[i]);i += 2;}for(i = 0; i < 6 ; i++) {printf("%02x\n", mesh_id[i]);}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。