前言:整数转16进制字符串,网上大部分的资料都是要传入16进制字符串的位数,有点麻烦。本文介绍的方法自动确定返回的字符串的位数,位数为最小偶数。偶数位方便使用时转成字节数组(unsigned char[]),这样就可以传输了。

一、16进制字符串转整型

int hexStrToInt(string hexStr)
{return stoi(hexStr, 0, 16);
}

二、整型转16进制字符串

string intToHexStr(int mask) {// 最终16进制字符串长度为偶数int hexLen = 0;if (mask > INT_MAX) {return "00";}// 根据数值的大小决定16进制字符串的个数for (int i = 2; i <= 6; i += 2) {string hex = "";for (int j = 0; j < i; j++) {hex += "F";}if (mask <= hexStrToInt(hex)) {hexLen = i;break;}}// 最长8位, INT_MAX = 2147483647, 16进制字符串为:7FFFFFFFif (hexLen == 0) {hexLen = 8;}//16进制字符集string hexes[16] = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};string hexstring = "";for (int i = 0; i < hexLen; i++){int j = hexLen - i - 1;// 按顺序取4bit数int number = (mask >> 4 * j) & 0xf;hexstring += hexes[number];}return hexstring;
}

整型转16进制字符串有参考这篇文章:2021.9.9 解决c++整数转化为16进制字符串问题_MoonByulStar的博客-CSDN博客_c++整型转16进制

C++ 整型转16进制字符串或16进制字符串转整型相关推荐

  1. python 字符串转16进制数字

    1 原始文件中的字符串 2 读取文件字符串 从文件中读取2个字节,代码如下: def print_hex_str(str1):     print len(str1)     print str1   ...

  2. 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法

    点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 很多事根本就没有那么多的前提可言,想做事,就不要把先决条件看得过重. 文 章 导 读 今天给小伙伴们介绍下了下进制转换和字符串与数值互转的方法 ...

  3. string char* 16进制数字转化 unsigned char* 转化 字符串拼接

    项目中用到了16进制数字的转化 , 但是输出的是通过sha1加密,字符是两两转化为16进制数,要求是将其连接起来发送成一个字符串. 首先 要用到string时需要加载相关的头文件 #include & ...

  4. Java 字符串,byte[],16进制的字符串互转

    Java 字符串,byte[],16进制的字符串互转 /** * 字符串转换成十六进制字符串 */ public static String str2HexStr(String str) { char ...

  5. python 16进制补零_Python输出16进制不带0x补零,整数转16进制,字符串转16进制

    python输出16进制不带0x补零,整数转16进制,字符串转16进制 在开发中,我们偶尔会遇到需要将数据通过控制台打印出来,以检查数据传输的准确性.例如调试服务端刚接到的二进制数据(里面包含很多非可 ...

  6. 字符串转16进制字节数组,字节数组转16进制字符串

    /// <summary>/// 字符串转16进制字节数组/// </summary>/// <param name="hexString">& ...

  7. linux 串口 字符 间隔,嵌入式linux编程过成中模块从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数(提取特定字符串+字符串转16进制)...

    嵌入式linux编程过成中用到zigbee模块 zigbee从串口读数需要特定的字符段并且需要每两位字符数组元素转换成一个16进制数 (提取特定字符串+字符串转16进制) #include #incl ...

  8. python- ASCII字符串转为16进制格式

    代码 #!/usr/bin/python3 hexForamt="\\x" # 更改这里的ASCII字符串 asciiStr="AAABBBccc" def a ...

  9. Unity C# 将String字符串转换为16进制Byte数组

    今天开发过程中后台给了我一个已经转成string了的16进制字符串,我这边做了些处理,将str又转回16进制,并以16位16进制byte数组的形式存放了. void Start(){string st ...

  10. C++字符串转16进制

    在串口通讯中,时常涉及到16进制字符串发送,需要将字符串转为16进制. Example:string str = "07 0a 02 10 03 00 00 00 00 00"#i ...

最新文章

  1. Linux下tcpdump用法
  2. vip能ping通,但80不通的解决方法
  3. pytorch基础知识整理(四) 模型
  4. mysql 小类型_mysql 数据类型
  5. Python数据库的连接
  6. bzoj3224 Tyvj 1728 普通平衡树题解--Treap
  7. VBA中Let与Set的区别
  8. java框架实例---自定义标签实例
  9. ssas 维度属性_Analysis Services(SSAS)多维数据集–维度属性和层次结构
  10. 四款主流测试工具的测试流程
  11. html5盒子层级设置,解决CSS中子元素z-index与父元素兄弟节点的层级问题
  12. SpringMVC表单标签
  13. linux脚本基础详解
  14. C# 如何将Excel表格复制到Word中并保留格式
  15. joomla 网页修改_修改Joomla的8个技巧和技巧! 范本
  16. 73个必会的经济类热词
  17. 列表解析式与生成器表达式
  18. Mybatis源码学习笔记之Mybatis二级缓存
  19. Recorder︱一些图像识别初创公司产品及API搜集ing...
  20. ATF官方文档翻译(二):Authentication Framework Chain of Trust(身份验证框架和信任链)(1)

热门文章

  1. jquery 身份证工具类插件
  2. 【正点原子FPGA连载】 第二十八章OV5640 DP显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  3. 计算机犯罪保护现场,计算机犯罪现场.ppt
  4. 不可重现的bug如何处理
  5. Linux入门篇-文件管理
  6. 每日一题——二叉树的中序遍历
  7. 神马广告投放的展现样式有哪些?神马广告投放的优势
  8. C++ 堆和栈的联系与区别
  9. 基于人脑神经元与神经信息交流机制的类脑计算模型研究
  10. 汽车软件大战一触即发,诚迈科技如何重构整车“软架构”