代码

例子一

typedef std::vector<unsigned char> bytes;
std::string BytesToStr(const bytes& in)
{bytes::const_iterator from = in.cbegin();bytes::const_iterator to = in.cend();std::ostringstream oss;for (; from != to; ++from)oss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(*from);return oss.str();
}

例子二

const string toHexString(char* input, const int datasize){string output;char ch[3];for(int i = 0; i < datasize; ++i){sprintf_s(ch, 3, "%02x", input[i]);output += ch;}return output;
}

例子三

const string ToHexString(char* input, const int datasize)
{char  output[33];for(int j = 0; j < datasize; j++ ){unsigned char b = *(input+j);sprintf_s( output+j * 2,3, "%02x",b);}return string(output) ;
}

总体代码

#include <string>
#include <sstream>
#include <vector>
#include <iomanip>
#include <iostream>using namespace std;typedef std::vector<unsigned char> bytes;
std::string BytesToStr(const bytes& in)
{bytes::const_iterator from = in.cbegin();bytes::const_iterator to = in.cend();std::ostringstream oss;for (; from != to; ++from)oss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(*from);return oss.str();
}//const string toHexString(char* input, const int datasize)
//
//{
//    string output;
//    char ch[3];
//
//    for(int i = 0; i < datasize; ++i)
//    {
//        sprintf_s(ch, 3, "%02x", input[i]);
//        output += ch;
//    }
//    return output;
//}const string ToHexString(char* input, const int datasize)
{char  output[33];for(int j = 0; j < datasize; j++ ){unsigned char b = *(input+j);sprintf_s( output+j * 2,3, "%02x",b);}return string(output) ;
}int main() {char a[]{ '0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0' };bytes input(a, a + 16);for (auto i : input) {std::cout << i;}std::cout << std::endl;std::cout << "char类型数据 转十六进制 输出: ";//std::cout << BytesToStr(input) << std::endl;std::cout << byteToHexStr(a,16) << std::endl;
}

参考链接

  • c++ byte类型数组转十六进制字符串的几种代码实现_yuanyuan_186的专栏-CSDN博客_c++ 字节数组转16进制
  • C/C++ equivalent to java Integer.toHexString - Stack Overflow
  • Char array to hex string C++ - Stack Overflow
  • How to visualize bytes with C/C++ - Stack Overflow
  • c++ - Convert bytes array to Hexadecimal String - Stack Overflow

C++ Byte转十六进制字符串输出相关推荐

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

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

  2. Java中byte[]与十六进制之间的转化

    Java中byte是占8位二进制,十六进制的数是用4位二进制来表示的.因此当byte转十六进制时,将byte的8位二进制,分为高4位和低4位并分别转化为相应的十六进制,再合到一起即可.当十六进制转by ...

  3. Java 二进制与十六进制字符串相互转换

    1.二进制转十六进制 输入:二进制字符串 输出:十六进制字符串 public class Bin2Hex {public static void main(String[] args){String ...

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

    我通过一些粗略的Stopwatch性能测试运行了各种转换方法,一个带有随机句子的运行(n = 61,1000次迭代)和一个带有Project Gutenburg文本的运行(n = 1,238,957, ...

  5. Java byte数组与十六进制字符串互转

    Java byte数组与十六进制字符串互转 博客分类: Java Javajava 十六进制java hex Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64 ...

  6. iOS -- 十进制、十六进制字符串,byte,data等之间的转换

    十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:@"%@&q ...

  7. 十六进制字符串与byte数组与ASCII码互相转换

    日常工作中,对接一些硬件使用tcp通信,需要将输入输出流转16进制字符串再在表中找到与其对应的ASCII码,并转换作为结果.因此,这里整理了一个工具类,用于这三者的相互转换. 十六进制字符串转byte ...

  8. C语言如何将十六进制字符串转为十六进制Byte

    问题展示 我们的目标是 将十六进制字符串转为十六进制Byte 由上图我们可以清晰的看到 我们失败了.如何解决呢? 代码示例 #include<stdio.h> #include<st ...

  9. C语言进制的格式字符,GB汉字文件转换成C语言Unicode十六进制字符串格式

    可以用在编程环境只能用GB,但程序中的汉字字符串需要用C语言的Unicode十六进制字符串格式表示.可以先在字符串中直接输入汉字,再用此程序转换. 源代码用C# //ascii & GB to ...

最新文章

  1. iOS 注册密码加密 添加了时间戳 遇到的问题...
  2. 2020年女人体重表,看看你是不是标准的模特体重
  3. 《Java和Android开发学习指南(第2版)》——第2章,第2.10节本章小结
  4. android使用menu需要重写的方法,Android – 正确使用invalidateOptionsMenu()
  5. LTE学习:CCE(control channel element)控制信道单元(1)
  6. 6 redis 编译失败_Redis6 Windows 版本编译
  7. 解析银行卡卡BIN的来龙去脉
  8. 产品设计:《现代设计史》
  9. 计算机二级office学习之Excel操作题考点整理
  10. C语言在链表里存储线段,C语言链表详解课件.ppt
  11. 软件文档写作学习总结——绪论
  12. 知识经济杂志知识经济杂志社知识经济编辑部2022年第33期目录
  13. 分析这家薄利多销的酸菜鱼面,看它的经营之道
  14. Macbook Pro上运行windows to go
  15. javamail写邮件/邮箱验证报错javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection
  16. 云储存服务器系统内蒙古,内蒙古【存储服务器】怎么选_星际云储
  17. jsp基于java廉价房屋租赁管理系统
  18. python中elif和else的区别_浅谈Python的条件判断语句if/else语句
  19. Zookeeper详解(三)——开源客户端curator
  20. pxe引导装机没有识别到LAN

热门文章

  1. c#sql防注入模糊查询_SQL中利用LIKE实现模糊查询的功能
  2. 郑州升达经贸管理学院计算机专业学费,郑州升达经贸管理学院学费
  3. 微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...
  4. .NET三种异步模式(APM、EAP、TAP)
  5. 第五节:Task构造函数之TaskCreationOptions枚举处理父子线程之间的关系。
  6. 【转】SOAR从概念到落地
  7. 一步步编写操作系统 2 部署工作环境 2
  8. linux rar命令没找到,Linux没有rar解压命令
  9. PWN-PRACTICE-BUUCTF-1
  10. RSA公私钥加解密方式-工具类