C语言把十六进制数据转换为字符串 您所在的位置:网站首页 十六的数有 C语言把十六进制数据转换为字符串

C语言把十六进制数据转换为字符串

2024-01-21 11:37| 来源: 网络整理| 查看: 265

创作人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 实验室设备网 版权所有