#include <stdio.h> #include <stdlib.h> typedef unsigned char uint8_t; char hexToch (uint8_t old); uint8_t HexToChar(uint8_t temp); int main(){ int i = 0; uint8_t data[5]={
0x12,0x34,0x56,0xab,0xef}; uint8_t str[10]; uint8_t dst[10]; for(i = 0; i<5;i++) { str[2*i] = data[i]>>4; str[2*i+1] = data[i]&0xf; } for(i = 0; i<10;i++) { dst[i] = HexToChar(str[i]); } for(i = 0; i<10;i++) { printf("%c\n",dst[i]); } return 0; } uint8_t HexToChar(uint8_t temp) { uint8_t dst; if (temp < 10){ dst = temp + '0'; }else{ dst = temp -10 +'A'; } return dst; }
注意,HexToChar函数中,由于传入的参数都是无符号的,故不用判断正负。
需要小写的字符可修改此处dst = temp -10 +’a’;
运行结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/96594.html