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

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

十六进制字符串转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博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 张继龙博客埋怨南康 等你到三十五岁by南康 张继龙博客埋怨南康事件 等你到三十五岁南康白起 我等你到三十五岁南康白起 南开 南开校庆 南开分数线 天津南开 天津南开区 南开区 南开校训 南开校歌 南开医院 我爱南开 南开大学mba 南开区邮编 百年南开 南开邮编 南开校长 南开小学 南开大 南开大学灯光 南开大学在哪 南开大学研究生院 南开大学滨海学院 南开滨海学院 南开研究生院 南开大学分数线 南开大学研究生招生网 南开大学排名全国第几 南开大学在哪里 百年南开校庆 百年南开点亮全球 天津南开大学 百年南开大讲坛 南开大学百年校庆 南开百年校庆 南开大学研究生 南开大学校庆 天津南开中学