C语言把十六进制数据转换为字符串 | 您所在的位置:网站首页 › 十六的数有 › C语言把十六进制数据转换为字符串 |
创作人QQ:851301776,邮箱:[email protected] 欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点! 个人座右铭: 1.没有横空出世,只要厚积一定发。 2.你可以学历不高,你可以不上学,但你不能不学习 一、将数组中的十六进制数转换为字符串 1.概述比如我们收到一包数据,数据为十六进制数(0xA1,0xB1,0xC1,0xD1),结果是:将此十六进制数据转换为字符串“A1B2C1D1”。用途:写日志或者其他特殊用法。 2.掩码 void hex_to_asciistring(u8* str,u32 size,u8* str1) { u8 deposit [2]; u16 i=0; u8 j = 0; for(i=0;i> 4; for(j = 0; j < 2; j++){ switch(deposit[j]){ case 0x00: str1[i*2+j]='0'; break; case 0x01: str1[i*2+j]='1'; break; case 0x02: str1[i*2+j]='2'; break; case 0x03: str1[i*2+j]='3'; break; case 0x04: str1[i*2+j]='4'; break; case 0x05: str1[i*2+j]='5'; break; case 0x06: str1[i*2+j]='6'; break; case 0x07: str1[i*2+j]='7'; break; case 0x08: str1[i*2+j]='8'; break; case 0x09: str1[i*2+j]='9'; break; case 0x0A: str1[i*2+j]='A'; break; case 0x0B: str1[i*2+j]='B'; break; case 0x0C: str1[i*2+j]='C'; break; case 0x0D: str1[i*2+j]='D'; break; case 0x0E: str1[i*2+j]='E'; break; case 0x0F: str1[i*2+j]='F'; break; default: return ; } } } return ; }备注:此方法已经过验证,可直接使用 二、将某一个十六进制整数转换为字符串 1.概述作用:将一个整数0xA1B2,转换为字符串“A1B2” 2.掩码 int hex2str(unsigned int data, char* s, int len) { int i; s[len] = 0; for (i = len - 1; i >= 0; i--, data >>= 4) { if ((data & 0xf) |
CopyRight 2018-2019 实验室设备网 版权所有 |