博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
16进制字符串转字节
阅读量:3944 次
发布时间:2019-05-24

本文共 1115 字,大约阅读时间需要 3 分钟。

16进制字符串转字节

#include 
#include
#include
void hex_str_to_byte(char *in, int len, unsigned char *out){
char *str = (char *)malloc(len); memset(str, 0, len); memcpy(str, in, len); for (int i = 0; i < len; i += 2) {
//小写转大写 if (str[i] >= 'a' && str[i] <= 'f') str[i] = str[i] - 0x20; if (str[i + 1] >= 'a' && str[i] <= 'f') str[i + 1] = str[i + 1] - 0x20; //处理第前4位 if (str[i] >= 'A' && str[i] <= 'F') out[i / 2] = (str[i] - 'A' + 10) << 4; else out[i / 2] = (str[i] & ~0x30) << 4; //处理后4位, 并组合起来 if (str[i + 1] >= 'A' && str[i + 1] <= 'F') out[i / 2] |= (str[i + 1] - 'A' + 10); else out[i / 2] |= (str[i + 1] & ~0x30); } free(str);}int main(){
char *str = "FF32333435363738393a3b3c3d3e3f40"; unsigned char temp[16] = {
0}; hex_str_to_byte(str, strlen("ff32333435363738393a3b3c3d3e3f40"), temp); for (int i = 0; i < 16; i++) {
printf("%02x ", temp[i]); } printf("\n"); return 0;}

演示

在这里插入图片描述

转载地址:http://rqowi.baihongyu.com/

你可能感兴趣的文章
JAVA系统属性之user.home
查看>>
Android代码截屏
查看>>
Android中打印代码的调用层次
查看>>
成功者十三个价值连城的习惯
查看>>
特别成功的人会做6件事
查看>>
Android: 用jni 获取MAC地址
查看>>
字符串列表的C语言实现:c_strlist
查看>>
客户沟通的方式:礼貌待客沟通方式,技巧推广沟通方式,个性服务沟通方式
查看>>
用弹性工作制留住员工
查看>>
知识=经验×反思2
查看>>
领导者如何发现关键问题
查看>>
学习无为领导力
查看>>
卓越领导看过程
查看>>
领导力与各种循环挑战
查看>>
达成谈判协议 - 避免操之过急
查看>>
销售人说话“十大忌”
查看>>
营销中的“战略非对称”
查看>>
android 如何开关Mediatek开发的Feature
查看>>
Android电话功能各部分深入探讨
查看>>
Android应用技巧总结
查看>>