如何实现linux下ASCII转HEX
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,今天就跟大家聊聊有关如何实现linux下ASCII转HEX,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在项目开发过程有时需要对一串数字的16
千家信息网最后更新 2026年11月01日如何实现linux下ASCII转HEX
今天就跟大家聊聊有关如何实现linux下ASCII转HEX,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
在项目开发过程有时需要对一串数字的16进制文本转换成16进制数组,这是实现方法:
#include#include #include #include /*isspace,toupper的头文件*/#include /*uint8_t的头文件*//*去除数组中的空格*/char *trim(char *str){ if(str == NULL || *str == '\0') return NULL; int len = strlen(str); char *p = str; while(*p != '\0'){ while(isspace(*p)){ memmove(p,p+1,strlen(p+1)+1); } p++; } return str;}/*ascii 转16进制数组,失败返回-1,成功返回0*/int ascii2hex(const char *string,int length,uint8_t hex[],int *hexlen){ char src_arr[length+2];/*奇数个字符首位补'0',字符串结束符'\0',所以是+2*/ int src_len=0,i; char ah,al; uint8_t ih,il; if(string == NULL || hex == NULL || length <1 || hexlen == NULL){ return -1; } memset(src_arr,0x00,sizeof(src_arr)); memcpy(src_arr,string,length); if(trim(src_arr) == NULL) return -1; src_len = strlen(src_arr); if(src_len%2){ *hexlen = src_len/2 + 1; memmove(&src_arr[1],&src_arr[0],src_len); src_arr[0] = '0'; }else{ *hexlen = src_len/2; } for(i = 0;i < *hexlen;i++){ ah = src_arr[2*i]; al = src_arr[2*i+1]; ih = (ah > '9') ? (toupper(ah) - 'A' + 10):(ah - '0'); il = (al > '9') ? (toupper(al) - 'A' + 10):(al - '0'); hex[i] = ih * 16 + il; } return 0;}/*16进制转ascii ,失败返回-1,成功返回0*/int hex2ascii(uint8_t *src, char dest[], int len){ uint8_t dh,dl; //字符串的高位和低位 int i; if(src == NULL || dest == NULL || len < 1){ return -1; } for(i = 0; i < len; i++){ dh = src[i] / 16; dh = (dh > 9) ? (dh-10+'A'):(dh + '0'); dl = src[i] % 16; dl = (dl > 9) ? (dl-10+'A'):(dl + '0'); dest[2*i] = dh; dest[2*i+1] = dl; } dest[2*i] = '\0'; return 0;}
看完上述内容,你们对如何实现linux下ASCII转HEX有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
进制
内容
字符
数组
成功
字符串
文件
低位
奇数
数字
文本
方法
更多
知识
空格
篇文章
结束符
行业
资讯
资讯频道
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技
互联网科技公司怎么样
上海致骋互联网科技
广西互联网科技公司
上海万想互联网科技
宁夏科技产业互联网案例
彤创互联网科技有限公司
中科明德北京互联网科技
工业互联网展湾科技股份有限公司
无锡工业互联网科技有限公司
深圳互联网科技的发展
深圳无忧互联网科技
启辰互联网科技
21世纪互联网科技成就
广州互联网高科技取餐柜
容联科技互联网电商
三亚科技创新互联网基地
互联网科技博主张洲
重庆科技产业互联网有哪些
北京瑞云互联网科技有限公司
科技互联网
互联网与科技金融数据
互联网科技论文
菲比寻常互联网科技
广州紫鲸互联网科技
互联网科技与管理
互联网和黑科技的看法
广州新华互联网科技学校电竞方面
洛阳共同富裕互联网科技有限公司
瑞安市蟠桃会互联网科技有限公司