字节、十六进制字符串相互转换(asc2hex、hex2asc)
//================================================================== /** 功能: 将16进制数组转换成asc字符数组(短转长)@param[in] hex :要转换的十六进制数组@param[in] lenth :转换后的16进制数组的长度@param[out] asc :转换后的asc字符数组(至少分配2倍的hex的大小)@par修改记录:2015.01.15 马兆瑞 修改asc不为空时出现的bug **/ //================================================================== void hex2asc(unsigned char *hex, int hexlength, unsigned char *asc) {for(int i = 0; i < hexlength; i++){sprintf((char*)asc+2*i, "%02X", hex[i]);} }//================================================================== /** 功能: 将asc字符数组转换成16进制数组(长转短),长度不足则末尾自动补F@param[in] asc :要转换的asc字符数组@param[in] lenth :转换后的16进制数组的长度@param[out] hex :转换后的16进制数组@par修改记录:2015.12.22 马兆瑞 **/ //================================================================== void asc2hex(unsigned char *asc, int hexlength, unsigned char *hex) {if(strlen((char*)asc) < hexlength*2){char *asc_temp = new char[hexlength*2+1];memset(asc_temp, 'F', hexlength*2+1);memcpy(asc_temp, asc, strlen((char*)asc));for(int i = 0; i < hexlength; i++){char temp[3] = {asc_temp[i*2], asc_temp[i*2+1]};hex[i] = strtol(temp, 0, 16);}delete []asc_temp;}else{for(int i = 0; i < hexlength; i++){ char temp[3] = {asc[i*2], asc[i*2+1]};hex[i] = strtol(temp, 0, 16);}} }
void main() {unsigned char asc[] = "915600000221010021010A68", hex[100] = {0};asc2hex(asc, strlen((const char *)asc)/2 , hex);unsigned char ascr[512] = {0};hex2asc(hex, strlen((const char *)asc)/2 , ascr); }
转载于:https://www.cnblogs.com/mzhrd/p/3454613.html
字节、十六进制字符串相互转换(asc2hex、hex2asc)相关推荐
- VB 二进制数组与十六进制字符串相互转换
1.VB 二进制Byte()数组转换成十六进制字符串函数: Private Function BytesToHex(bytB() As Byte) As String Dim strTmp As St ...
- Java 二进制与十六进制字符串相互转换
1.二进制转十六进制 输入:二进制字符串 输出:十六进制字符串 public class Bin2Hex {public static void main(String[] args){String ...
- php十六进制字符串转成字节数组_10 天 5 千 Star!21 岁本科生给程序员开发的十六进制编辑器...
[导语]:ImHex 是一款界面美观的十六进制编辑器,主要面向逆向工程师和程序员.如果你喜欢暗黑系编辑器,那它应该是你的菜. ImHex 最近在 GitHub 上非常火热,上架五天就收获了 2.5k ...
- python 将字节字符串转换成十六进制字符串
想将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成一个十六进制字符串 1)只是简单的解码或编码一个十六进制的原始字符串,可以使用 binascii模块 >>> s ...
- android byte转16进制字符串,如何将字节数组转换为十六进制字符串,反之亦然?...
我通过一些粗略的Stopwatch性能测试运行了各种转换方法,一个带有随机句子的运行(n = 61,1000次迭代)和一个带有Project Gutenburg文本的运行(n = 1,238,957, ...
- scala 字符串转换数组_如何在Scala中将十六进制字符串转换为字节数组?
scala 字符串转换数组 Hex String in Scala denotes value in hexadecimal number system i.e. base 16 number sys ...
- 如何在Java中将字节数组转换为十六进制字符串?
我有一个用十六进制数字填充并打印的字节数组,简单的方法是毫无意义的,因为有许多不可打印的元素. 我需要的是以下形式的确切十六进制代码: 3a5f771c #1楼 最简单的解决方案,没有外部库,没有数字 ...
- 如何将字节数组转换为十六进制字符串,反之亦然?
如何将字节数组转换为十六进制字符串,反之亦然? #1楼 在此不谈很多答案,但我发现十六进制字符串解析器的实现相当理想(比公认的要好约4.5倍),直接实现. 首先,我的测试输出(第一批是我的实现): G ...
- C#字节数组与字符串相互转换代码案例
转载连接:http://blog.csdn.net/c_s_d_n_2009/article/details/52583274?locationNum=9&fps=1 一.字节数组转换为字符串 ...
- [C++11]_[初级]_[十六进制字符串转换为字节数组]
场景 在开发使用加密算法md5,sha256等的功能时, 会生成基于十六进制的字符串密钥. 这时候在使用这些密钥进行解密或加密的时候,第三方库都需要传入一个字节数组usigned char*格式的数组 ...
最新文章
- 七、Linux串口编程
- 大数据WEB阶段 TransientDateAccessResourceException
- Android之解析XML总结(SAX、Pull、Dom三种方式)
- stream+springmvc实现文件断点续传
- python unescape函数_Python中的Unescape字符串
- 敏捷开发系列学习总结(2)——Bug修改流程
- pytorch在anaconda下安装
- jvm学习--类加载器
- CSS YUI reset
- html实现让电脑断网的功能,简单几步,即可实现电脑自动断网
- 基于Apache Kylin的分析案例
- The word 'XXX' is not correctly spelled
- usermod -a -G group user修改user用户信息,把user添加到组group中
- S32K144之ADC
- 微分几何笔记(2):微分流形的例子
- linux下的ktime_t timeval timespec
- G2评选ManageEngine为UEM的高效执行者和创新领导者
- 大学毕业5年后拉开大家差距的原因
- Win·使用迅雷下载资源时中断问题
- 华为顶级网络工程师分享出这份TCP/IP网络编程笔记,已封神