ASCII码转HEX与HEX转ASCII码

  • 【1】ASCII码转HEX
  • 【2】HEX转ASCII码
  • 【4】Qt实现ASCII码转HEX
  • 【4】Qt实现HEX转ASCII码

【1】ASCII码转HEX

ASCII码转HEX:
【1】 ASCII码:0-9 --> HEX:0x0-0x9 --> Dec:0-9
【2】ASCII码:a/A-f/F --> HEX:0xA-0xF --> Dec:10-15

//ASCII码转HEX:
//ASCII码:0-9 --> HEX:0x0-0x9 --> Dec:0-9
//ASCII码:a/A-f/F --> HEX:0xA-0xF --> Dec:10-15
uint8_t AsciiToHex(uint8_t Ascii_Byte)
{   //DebugPrintf("\r\n Input ascii data:%c = Dec%d = 0X%02X",Ascii_Byte,Ascii_Byte,Ascii_Byte);if (Ascii_Byte & 0x80) return Ascii_Byte;//=0if( (Ascii_Byte >= '0')&&(Ascii_Byte <= '9') ){return Ascii_Byte - '0'; //0-9}else if( (Ascii_Byte >= 'a')&&(Ascii_Byte <= 'f') ){return Ascii_Byte - 'a' + 10; //10-15}else if( (Ascii_Byte >= 'A')&&(Ascii_Byte <= 'F') ){return Ascii_Byte - 'A' + 10; //10-15}return Ascii_Byte;
}

【2】HEX转ASCII码

HEX转ASCII码:
【1】HEX:0x0-0x9 --> ASCII码:0-9 --> Dec:0-9
【2】HEX:0xa-0xf --> ASCII码:A-F --> Dec:10-15

//HEX转ASCII码:
//HEX:0x0-0x9 --> ASCII码:0-9 --> Dec:0-9
//HEX:0xa-0xf --> ASCII码:A-F --> Dec:10-15
char HexToAscii(uint8_t Hex_Byte)
{if( (Hex_Byte>=0)&&(Hex_Byte<=9) )            //变成ascii数字return Hex_Byte + 0x30;else if( (Hex_Byte >= 10)&&(Hex_Byte <= 15) ) //变成ascii大写字母return Hex_Byte + 0x37;elsereturn 0xff;
}

【4】Qt实现ASCII码转HEX

quint8 datadef::Fun_ascii2hex(quint8 ascii)
{if (ascii & 0x80) return ascii;if (ascii >= '0' && ascii <= '9')return (ascii - '0');else if (ascii >= 'A' && ascii <= 'F')  //ascii表示16进制,只有0-9 A-Freturn (ascii - 'A' + 0x0A);else if (ascii >= 'a' && ascii <= 'f')return (ascii - 'a' + 0x0A);return ascii;
}

【4】Qt实现HEX转ASCII码

quint8 datadef::Fun_hex2ascii(quint8 hex)
{if (hex >= 0x00 && hex <= 0x09)return (hex + '0');  //'0'=0x30else if (hex >= 0x0A && hex <= 0x0F)return (hex - 0x0A + 'A');//强制大写return 0;
}
void datadef::Fun_u8Hex2ascii(quint8 hex, quint8 *ascii_buff)
{*ascii_buff = Fun_hex2ascii((hex >> 4) & 0x0F);*(ascii_buff + 1) = Fun_hex2ascii(hex & 0x0F);
}
void datadef::Fun_u16Hex2ascii(quint16 hex, quint8 *ascii_buff)
{quint8 i = 0;for (i = 0; i < 4; i++){*(ascii_buff + 3 - i) = Fun_hex2ascii((hex >> (4*i)) & 0x000f);}
}

ASCII码转HEX与HEX转ASCII码相关推荐

  1. BIN,BCD,ASCII码分别对应的Hex(16进制)数

    BIN,BCD,ASCII码分别对应的Hex(16进制)数 以十进制的 56 为例: BIN 码 对应二进制数为 0011 1000 对应Hex数据为 0x38 BIN码就是二进制数: 压缩BCD 码 ...

  2. c语言 bcd码 16进制字符串 原理,ASCII码、HEX、字符、BCD 等等 基础知识思考

    每每遇到这些问题就要想个半天,想不明白还不舒服,今天特别把所想整理下避免以后再次进入思想漩涡!!! 计算机存储和传输都是以字节为单位 1 bit     = 1  二进制数据 1 byte  = 8  ...

  3. 在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( )

    在标准ASCII码表中,已知英文字母K的十六进制码值是4B,则二进制ASCII码1001000对应的字符是( ). A. G B. H C. I D. J 提示:答案B 解析:K的十六进制4B转换成二 ...

  4. 计算机底层:ASCII码、区位码、国标码、汉字机内码,还有字形码和输入输出编码之间的关系以及介绍

    计算机底层:ASCII.区位码.国标码.汉字机内码之间的关系,还有字形码和输入输出编码之间的关系以及介绍 键盘上有:数字.字母.符合.这些都称作为字符,而它们的组合就叫做:字符串. ASCII 键盘上 ...

  5. c语言解析hex文件格式,HEX文件格式,ihex,hex解析

    来自:http://blog.csdn.net/GZFStudy/archive/2008/09/03/2873814.aspx Intel HEX 文件是由一行行符合Intel HEX 文件格式的文 ...

  6. java 外码 内码_什么是汉字的内码、外码、交换码、字形码?

    展开全部 1.内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入.输62616964757a686964616fe78988e69d8331333433616234出与系统平台之间的交换码,通过 ...

  7. docker保护python源码_Tensorflow在Docker中运行和源码编译

    本文分享在在Docker中运行Tensorflow和进行源码编译的方法和步骤,包括:编译.构建docker镜像.创建和运行Docker容器.部署完的容器可以通过Jupyter Notebook进行访问 ...

  8. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果

    场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...

  9. 【Java 虚拟机原理】动态字节码技术 | Dalvik ART 虚拟机 | Android 字节码打包过程

    文章目录 一.动态字节码技术 二.Dalvik & ART 虚拟机 三.Android 字节码打包过程 总结 一.动态字节码技术 动态字节码技术 就是在 运行时 , 动态修改 Class 字节 ...

  10. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

最新文章

  1. 基础 - #pragma pack (n) 设置对齐方式
  2. 爆牙齿的世界杯日记(小组首轮)
  3. repcached配置与简单測试
  4. ssas 分区 设置_分区SSAS多维数据集的好处
  5. 【luogu2272】 [ZJOI2007]最大半连通子图 [tarjan 缩点][拓扑排序]
  6. java json 打印出来_如何使用Java漂亮地打印现有的JSON数据?
  7. IT黑马成长之CSDN第一篇博客
  8. Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解(1ni)
  9. NVIDIA GeForce G102M
  10. 倍福控制电机耦合运动
  11. Qt实用技巧:使用Qt加载超大图片的耗时测试
  12. 产品| 产品经理学习路径及职业规划
  13. python:ocr图文识别(百度智能云API文字识别)
  14. 1200000有多少个约数
  15. c语言字符串的题库,C考试系统题库含答案程序题
  16. 个人用户如何保证企业邮箱安全?【163企业邮箱注册】
  17. 不一样得Device /dev/sdb1 excluded by a filter.
  18. 【毕设项目】基于STM32F103ZET6的土壤温湿度数据采集和存储系统
  19. win10家庭版新增策略组及关闭密码策略
  20. PowerBI的中国地图制作流程

热门文章

  1. 计算机主机前耳机没声音,机箱前耳机接口没声音怎么办【解决方法】
  2. Android自适应国际化语言
  3. Fortran并行计算的一些例子
  4. SitePoint Podcast#165:您说的是缓存,我说的是Caché
  5. 常用的电气制图软件有哪些?以及各自的优缺点
  6. CAM350 12.1(附补丁)
  7. 大数据技术在电子政务中的应用
  8. mysql存储过程详解以及PHP调用MYSQL存储过程实例
  9. 局域网内如何实现远程桌面控制
  10. GPS-GGA数据格式