C++开发中BYTE类型数组转为对应的字符串

本文介绍了如何在C++中将BYTE类型的数组转换为对应的16进制字符串。通过循环遍历数组,进行除16取余和取模操作,然后将得到的值转换为ASCII码,最后将ASCII码转换为字符并合并成字符串。
摘要由CSDN通过智能技术生成

下午密码键盘返回了一个校验码,是BYTE类型数组,给上层应用返回最好是字符串方式,怎样原样的将BYTE数组转为string串呢?不多说,开动脑筋上手干!!!

BYTE格式的数组bt{08,D7,B4,FB},如何转换为字符串样式 (str = "08 D7 B4 FB") 呢?

其实在BYTE数组中存放的值是bt{8,215,180,251}这样,下面开始转字符串。

1、先对数组元素进行除数为16的取余和取模(这样215就会变成13和7,是不是看到16进制的值了呀)
        商v                  模m
取bt[0],bt[0]/16=0,bt[0]%16=8
取bt[1],bt[1]/16=13,bt[0]%16=7
取bt[2],bt[2]/16=11,bt[0]%16=4
取bt[3],bt[3]/16=15,bt[0]%16=11

2、数值转ASCII

  16进制的第一位

   判断v>=0&&v<=9,则v+=48   //数字转换
      else v>=97&&v<=122 则v+87   //小写字母转换
   else v+55    //大写字母转换

  16进制第二位
  判断m>=0&&m<=9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值