C++ Byte转十六进制字符串输出
代码
例子一
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转十六进制字符串输出相关推荐
- 如何在Java中将字节数组转换为十六进制字符串?
我有一个用十六进制数字填充并打印的字节数组,简单的方法是毫无意义的,因为有许多不可打印的元素. 我需要的是以下形式的确切十六进制代码: 3a5f771c #1楼 最简单的解决方案,没有外部库,没有数字 ...
- Java中byte[]与十六进制之间的转化
Java中byte是占8位二进制,十六进制的数是用4位二进制来表示的.因此当byte转十六进制时,将byte的8位二进制,分为高4位和低4位并分别转化为相应的十六进制,再合到一起即可.当十六进制转by ...
- Java 二进制与十六进制字符串相互转换
1.二进制转十六进制 输入:二进制字符串 输出:十六进制字符串 public class Bin2Hex {public static void main(String[] args){String ...
- android byte转16进制字符串,如何将字节数组转换为十六进制字符串,反之亦然?...
我通过一些粗略的Stopwatch性能测试运行了各种转换方法,一个带有随机句子的运行(n = 61,1000次迭代)和一个带有Project Gutenburg文本的运行(n = 1,238,957, ...
- Java byte数组与十六进制字符串互转
Java byte数组与十六进制字符串互转 博客分类: Java Javajava 十六进制java hex Java 加密解密基础 Java byte数组与十六进制字符串互转 Java BASE64 ...
- iOS -- 十进制、十六进制字符串,byte,data等之间的转换
十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:@"%@&q ...
- 十六进制字符串与byte数组与ASCII码互相转换
日常工作中,对接一些硬件使用tcp通信,需要将输入输出流转16进制字符串再在表中找到与其对应的ASCII码,并转换作为结果.因此,这里整理了一个工具类,用于这三者的相互转换. 十六进制字符串转byte ...
- C语言如何将十六进制字符串转为十六进制Byte
问题展示 我们的目标是 将十六进制字符串转为十六进制Byte 由上图我们可以清晰的看到 我们失败了.如何解决呢? 代码示例 #include<stdio.h> #include<st ...
- C语言进制的格式字符,GB汉字文件转换成C语言Unicode十六进制字符串格式
可以用在编程环境只能用GB,但程序中的汉字字符串需要用C语言的Unicode十六进制字符串格式表示.可以先在字符串中直接输入汉字,再用此程序转换. 源代码用C# //ascii & GB to ...
最新文章
- iOS 注册密码加密 添加了时间戳 遇到的问题...
- 2020年女人体重表,看看你是不是标准的模特体重
- 《Java和Android开发学习指南(第2版)》——第2章,第2.10节本章小结
- android使用menu需要重写的方法,Android – 正确使用invalidateOptionsMenu()
- LTE学习:CCE(control channel element)控制信道单元(1)
- 6 redis 编译失败_Redis6 Windows 版本编译
- 解析银行卡卡BIN的来龙去脉
- 产品设计:《现代设计史》
- 计算机二级office学习之Excel操作题考点整理
- C语言在链表里存储线段,C语言链表详解课件.ppt
- 软件文档写作学习总结——绪论
- 知识经济杂志知识经济杂志社知识经济编辑部2022年第33期目录
- 分析这家薄利多销的酸菜鱼面,看它的经营之道
- Macbook Pro上运行windows to go
- javamail写邮件/邮箱验证报错javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection
- 云储存服务器系统内蒙古,内蒙古【存储服务器】怎么选_星际云储
- jsp基于java廉价房屋租赁管理系统
- python中elif和else的区别_浅谈Python的条件判断语句if/else语句
- Zookeeper详解(三)——开源客户端curator
- pxe引导装机没有识别到LAN
热门文章
- c#sql防注入模糊查询_SQL中利用LIKE实现模糊查询的功能
- 郑州升达经贸管理学院计算机专业学费,郑州升达经贸管理学院学费
- 微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...
- .NET三种异步模式(APM、EAP、TAP)
- 第五节:Task构造函数之TaskCreationOptions枚举处理父子线程之间的关系。
- 【转】SOAR从概念到落地
- 一步步编写操作系统 2 部署工作环境 2
- linux rar命令没找到,Linux没有rar解压命令
- PWN-PRACTICE-BUUCTF-1
- RSA公私钥加解密方式-工具类