之前做过一些项目需要用到ASCLL码转换到16进制,在网上搜索后发现,大部分都是10进制数字转16进制数据,这对于8位字符类型unsignal char
  (这里不用char,因为char是-127到128,对于129-255之间的数溢出变为负数,算起来稍微麻烦 ,采用unsignal char是因为它的值在0到255)
  来讲他可以接收最大为255的数字(从Ascll码左边可以看到数字),市面上的转换方式大多都是一个char对应一个数字比如0-F,这对于char说浪费4位没有使用而且超过’f’范围的解析不了;

下面贴上手动实现的代码:

函数定义如下:

int charToHex(char* dst,const unsigned char* src,int len);

代码实现如下:

//第一个参数表示输出转换字符串 空间大小大大于 src的2倍
//第2个参数表示输入字符串(ASCLL码)
//第3个参数表示需要转换字符串长度
int charToHex(char* dst,const unsigned char* src,int len)
{if (0 == src){return -1;}int nNum = 0;const unsigned char*psrc = src;for (int i = 0;i < len;i++){int nval =  *(psrc + i);if (15 >= nval && 0 <= nval){if (9 >= nval && 0 <= nval){*(dst + i * 2) =

字符串Ascll格式转16进制相关推荐

  1. python 输出\xhh格式的16进制数据(改2)

    温馨提示:标题解决方案请浏览后面部分,傻吊网友请按顺序浏览 启蒙(转载)自:https://blog.csdn.net/dengzhaoqun/article/details/8923259 顺带st ...

  2. 把ASCII码的字符串转为数字的16进制

    /* 函数名称:AsciiStrToHexArray 功能:把ASCII码的字符串转为数字的16进制 参数dst:存储16进制数组数据指针 参数src:存储ASCII码的字符串指针 返回值:16进制的 ...

  3. [工具]-C语言中字符串的形式打印16进制数据

    C语言中字符串的形式打印16进制数据. 这样写,输出更直观些 #define PRINT_BUF_MAX (32) #define TAG_STRING_MAX (32) static void pr ...

  4. python将16进制字符串转换为整数_Python 16进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  5. C语言sscanf()正则表达式注意及截取字符串 提取数字 转16进制字节数组 超简单

    截取字符串 #include <stdio.h> int main(int argc,char** argv) {const char* in = "a1b2c3ABCdef 1 ...

  6. 带字符串空格的转16进制

    16进制字符串转换成16进制数据 string[] hexValuesSplit = AllChar.TrimStart().TrimEnd().Split(' ');byte[] Bytes = n ...

  7. JavaScript 10进制转换为类似‘0x00d5’格式的16进制

    var num = 444; var hex_num = num.toString(16); function str_pad(hex){var zero = '0000';var tmp = 4-h ...

  8. java中文句号转换英文句号_java实现中文或其他语言及标点符号等转换成unicode字符串,或unicode的16进制码转换回文字或符号等...

    packageorg.analysisitem20181016.test;public classCode128Test2019052201 {public static final String U ...

  9. 将字符串转换成16进制

    将字符串转换成16进制 原文:将字符串转换成16进制 1.将普通字符串转换成16进制的字符串. 点击进入推荐链接 class Program {static void Main(string[] ar ...

最新文章

  1. idea dubbo jar error:cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明...
  2. 改进合作 Git 工作流:自动提取、合并提交
  3. ROS通信架构(下)
  4. VirtualCopy()操作I/O口 物理地址为什么要移8位
  5. 需求、需求工程与需求工程师 — 6. 设计能力的要求
  6. svg标签的CSS3动画特效 - 经典特效
  7. wordpress主题Z-blog拓源纯净版
  8. 为什么我的QQ会被冻结?
  9. 硬盘加密软件测试工资,实测加密软件BitLocker对硬盘性能有何影响
  10. 51单片机-LED点阵
  11. 安卓手机使用Tasker实现应用级功能,屏幕翻译v9,翻译复制贴图
  12. 小工具--理财计算器
  13. 怎么在线给pdf加盖电子公章
  14. 【中亦安图】关于数据库文件损坏风险的提醒(3)
  15. mysql 根据身份证号码更新性别
  16. 接口 抽象类 C++
  17. Map集合中的Map.Entry的定义:
  18. 内存数据库mongodb_内存和磁盘性能如何影响您的MongoDB数据库
  19. ZKNUOJ 1015
  20. 博士毕业了,网络环境变了

热门文章

  1. 花了20分钟,给女朋友们写了一个web版群聊程序
  2. 设计抗100亿请求的春晚红包系统
  3. 阿里如何面试MySQL优化CPU消耗
  4. spring boot之session的创建,销毁,超时,监听等等小结
  5. 如何用好 Chrome devtools
  6. JEECG(J2EE Code Generation) 基于代码生成器J2EE智能开发框架 杂记:发布新版本 JEECG_v2.0
  7. Java知识点汇总1
  8. linux下查看大文件或者目录
  9. [51单片机] TFT2.4彩屏3 [自制动画效果-滑块+吊钩]
  10. 《ANSYS 14热力学/电磁学/耦合场分析自学手册》——2.8 工具条