// 环境:Windows 10,64bit,VS2017 Enterprise x64

// 二进制数据转换为十六进制字符串

///
// @name: DataToHexString
// @brief: 数据转换为十六进制字符串
// @param:[i] srcBuff 原始数据缓冲区
// @param:[i] srcSize 原始数据长度
// @param:[i] dstBuff 转换结果(十六进制字符串)存放缓冲区
// @param:[i] dstSize 转换结果(十六进制字符串)缓冲区大小
// @return: void
// @note: [dstSize >= (srcSize*2) ]
//
void DataToHexString(const unsigned char* srcBuff, unsigned int srcSize, unsigned char* dstBuff, unsigned int dstSize) {// python3//for i in range(0, 256) ://  print('\"%02X\", ' % i, end = '')//  if i % 16 == 15 ://       print()static const char tableHex[256][4] = {"00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F","10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B", "1C", "1D", "1E", "1F","20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F","30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C", "3D", "3E", "3F","40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "4A", "4B", "4C", "4D", "4E", "4F","50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "5A", "5B", "5C", "5D", "5E", "5F","60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "6A", "6B", "6C", "6D", "6E", "6F","70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "7A", "7B", "7C", "7D", "7E", "7F","80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "8A", "8B", "8C", "8D", "8E", "8F","90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "9A", "9B", "9C", "9D", "9E", "9F","A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "AA", "AB", "AC", "AD", "AE", "AF","B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "BA", "BB", "BC", "BD", "BE", "BF","C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "CA", "CB", "CC", "CD", "CE", "CF","D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "DA", "DB", "DC", "DD", "DE", "DF","E0", "E1", "E2", "E3", "E4", "E5", "E6", "E7", "E8", "E9", "EA", "EB", "EC", "ED", "EE", "EF","F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "FA", "FB", "FC", "FD", "FE", "FF",};dstSize /= 2; // srcSize = srcSize > dstSize ? dstSize : srcSize;for (int i = 0; i < srcSize; ++i) {dstBuff[(i << 2)] = tableHex[srcBuff[i]][0];dstBuff[(i << 2) + 1] = tableHex[srcBuff[i]][1];}
}

// 判断字符串是不是十六进制字符的字符串

// @name: IsHexString
// @brief: 判断字符串是不是十六进制字符串
// @param:[i] strHex 字符串
// @return: -1=字符串是十六进制字符, >-1:字符串在位置return上发现非十六进制字符
int IsHexString(const std::string& strHex) {// 十六进制字符串的组成字符// 如果strHex字符串的任意一个字符不在这个范围里面// 则此字符串不是十六进制的字符串static const std::string hexStr = "0123456789abcdefABCDEF";for (int i = strHex.length() - 1; i > -1; --i){if (hexStr.find(strHex[i]) < 0) {// 发现不在范围内的字符return i;}}return -1;
}

// MYLAF

// 厦门

二进制数据转换为十六进制字符串相关推荐

  1. c语言 内部12位二进制整型数据 转换 十六进制 程序,C语言应用:将128位二进制数据转换为十六进制输出...

    #include #include #include /** 说明:利用c自带里面得strtol函数做转换 (函数介绍见下),但strtol处理的最大位数为32位,即 转换所得的十六进制最多八位.作出 ...

  2. oracle二进制转换字母,如何将oracle二进制数据转换为word文本

    现在很多项目和技术支持在线编辑word文档.有控件的和javascript操作的.这里简单的推荐一个在线编辑word文档的控件. 地址:http://www.dianju.cn/p/weboffice ...

  3. VB 二进制数组与十六进制字符串相互转换

    1.VB 二进制Byte()数组转换成十六进制字符串函数: Private Function BytesToHex(bytB() As Byte) As String Dim strTmp As St ...

  4. 如何将字节数组转换为十六进制字符串,反之亦然?

    如何将字节数组转换为十六进制字符串,反之亦然? #1楼 在此不谈很多答案,但我发现十六进制字符串解析器的实现相当理想(比公认的要好约4.5倍),直接实现. 首先,我的测试输出(第一批是我的实现): G ...

  5. java字符串 直接能网络传输吗_atitit.二进制数据无损转字符串网络传输

    atitit.二进制数据无损转字符串网络传输 1. gbk的网络传输问题,为什么gbk不能使用来传输二进制数据 gbk会造成信息丢失 由于有些字符在gbk字符集中找不到对应的字符,所以默认使用编码63 ...

  6. python 二进制数 转字符串_Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroesxff..... ...

  7. c语言中将整数转换成字符串_在C语言中将ASCII字符串(char [])转换为十六进制字符串(char [])...

    c语言中将整数转换成字符串 Given an ASCII string (char[]) and we have to convert it into Hexadecimal string (char ...

  8. 如何在Java中将字节数组转换为十六进制字符串?

    我有一个用十六进制数字填充并打印的字节数组,简单的方法是毫无意义的,因为有许多不可打印的元素. 我需要的是以下形式的确切十六进制代码: 3a5f771c #1楼 最简单的解决方案,没有外部库,没有数字 ...

  9. python如何把二进制转文本_Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroes\xff..... ...

最新文章

  1. 关于在 Ubuntu 上安装 SteamOS session
  2. 数据科学真的是一份有前途的工作吗?
  3. Boost.MultiIndex 双向映射示例
  4. android studio替换jdk,Mac Android Studio JDK7 替换
  5. 各个线程顺序循环执行
  6. Nginx 模块开发高级篇
  7. C# 把list中的数据转成规定格式的json格式
  8. 工作做事通用方法探索
  9. mysql数据库之联表查询
  10. Smack Extensions用户手册
  11. Minitab正态能力分析算法资源合集
  12. android手写输入法开发,基于Android平台的云计算手写输入法
  13. C++11的6种内存序总结
  14. 在那个时候根本没有计算机房,王德厚:我们现在的写作环境与王瑶先生那个时候没有根本区别...
  15. 精神分裂症和失眠有没有关系
  16. java-pdf合并三种方法实现以及简单效率对比
  17. 2020/04/12 02-HTML和URL提取、豆瓣读书爬虫编写
  18. 【图像处理中的数学修炼(第1版)】总纲:详解图像背后的数学原理
  19. [Python3] 超级码力在线编程大赛初赛 第2场 题解
  20. 电视卡播放软件测试初学者,教你用最简单的方法解决本地电脑共享3D高清视频卡的问题...

热门文章

  1. 将Outlook中的邮件保存到本地磁盘,释放邮箱空间
  2. 【Bug】WindowsPowerShell\profile.ps1
  3. 让 Winform 窗口悬浮的简单方式,不可思议的 TopMost 属性
  4. 平板电脑性能测试软件,平板电脑跑分排行榜 最值得入手的都在这里
  5. vuetifyjs简介及其使用
  6. 15位和18位的身份证正则,以及通过身份证获取出生日期
  7. Excel转xml简单方法
  8. uni-app锚点跳转及滚动Tab切换(非scroll-view)
  9. 【springboot中jasypt-spring-boot-starter的使用】
  10. C10k-problem