十六进制字符串转byte数组实现

来源:互联网 发布:yum nginx 安装 编辑:程序博客网 时间:2024/05/15 16:48

十六进制字符串转byte数组,就是实现如下功能:把一个字符串,比如“E4F1C3A81F”转换成bit存到一个数组char *的数组char * buf里,buf[0] = 0xE4,buf[1] = 0xF1,buf[2] = 0xC3,buf[3] = 0xA8......。

完整代码实现:

// stringTobit.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <stdlib.h>#include <stdio.h>int Change(char s[],char bits[]) {int i,n = 0;for(i = 0; s[i]; i += 2) {if(s[i] >= 'A' && s[i] <= 'F')bits[n] = s[i] - 'A' + 10;else bits[n] = s[i] - '0';if(s[i + 1] >= 'A' && s[i + 1] <= 'F')bits[n] = (bits[n] << 4) | (s[i + 1] - 'A' + 10);else bits[n] = (bits[n] << 4) | (s[i + 1] - '0');++n;}return n;}int _tmain(int argc, _TCHAR* argv[]){/*十六进制串转Byte数组,最后转为十进制值*/char szValue1[10] = {0},szValue[10] = {0},bits[10] = {0},s[] = "040400000002719E";int i,nValue(0),n = Change(s,bits);printf ("十六进制字符串:%s\n",s);printf ("转化后:\n ");printf ("十六进制byte数组: ");for(i = 0;i < n;i++){   sprintf_s(szValue1,"0x%02x",(0XFF & bits[i]));printf("%s  ",szValue1);}printf ("\n十进制byte数组: ");for(i = 0;i < n;i++){   sprintf_s(szValue,"  %d",(0XFF & bits[i]));nValue = atoi(szValue);printf("%d  ",nValue);}printf ("\n");/*十进制值转十六进制串*/char szVal[30];sprintf_s(szVal,"%02x%02x%02x%02x%02x%02x%02x%02x",4,4,0,0,0,2,113,158);printf("重新组合: %s\n",szVal);return 0;}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电器着火了怎么办教案 电器起火你要怎么办 家里的电器着火怎么办 电器起火时应该怎么办 电器着火了应该怎么办 厨房油锅起火怎么办 锂电池过放发热怎么办 手机锂电池破了怎么办 电池外壳破了怎么办 电源总开关起火怎么办? 家里电闸着火了怎么办 煤气灶在用起火怎么办? 发生火灾了该怎么办 家里电着火了怎么办 家里电线着火了怎么办 在学校发生火灾怎么办 在商场遇到火灾怎么办 锂电池充鼓了怎么办 航模电池鼓包了怎么办 年审过了半年怎么办 汽车在异地年审怎么办 北京外地车以后怎么办 北京限制外地车怎么办 机动车保险超期年检怎么办 汽车过期未年审怎么办 汽车逾期未年审怎么办 车辆年检逾期一天怎么办 公司逾期未年检怎么办 车辆过年审时间怎么办 钢结构厂房采光面积不够怎么办 大米仓库有虫怎么办? 药品仓库湿度超标怎么办 仓库式装修空调怎么办 超市过道太窄怎么办 高架桥下面想租怎么办 被酒精火烫伤怎么办 用酒精擦拭屏幕怎么办 边牧得了细小怎么办 新打机井无水怎么办 厂房地面起灰怎么办 汽车排气筒进水怎么办