C++实现字节数组与16进制字符串互转,字符串转16进制字符串
1 无符号字节数组转16进制字符串
std::string bytesToHexString(const BYTE* bytes,const int length)
{if (bytes == NULL) {return "";}std::string buff;const int len = length;for (int j = 0; j < len; j++) {/*if ((bytes[j] & 0xff) < 16) {buff.append("0");}*/int high = bytes[j]/16, low = bytes[j]%16;buff += (high<10) ? ('0' + high) : ('a' + high - 10);buff += (low<10) ? ('0' + low) : ('a' + low - 10);}return buff;
}
2 16进制字符串转无符号字节数组
void hexToBytes(const std::string& hex,BYTE* bytes)
{int bytelen = hex.length() / 2;std::string strByte;unsigned int n;for (int i = 0; i < bytelen; i++) {strByte = hex.substr(i * 2, 2);sscanf(strByte.c_str(),"%x",&n);bytes[i] = n;}
}
字符串转16进制字符串
/*
* 将字符串编码成16进制数字,适用于所有字符(包括中文)
*/
std::string encodeHexString(const std::string& str) {// 根据默认编码获取字节数组std::string hexString = "0123456789abcdef";string sb;// 将字节数组中每个字节拆解成2位16进制整数for (int i = 0; i < str.length(); i++) {sb += hexString.at((str[i] & 0xf0) >> 4);sb += hexString.at((str[i] & 0x0f) >> 0);}return sb;
}
16进制字符串转字符串
std::string hexStringToString(const std::string& hexStr)
{std::string ret;std::string hexString = "0123456789abcdef";// 将每2位16进制整数组装成一个字节for (int i = 0; i < hexStr.length(); i += 2)ret += BYTE(hexString.find(hexStr.at(i)) << 4 | hexString.find(hexStr.at(i + 1)));return ret;
}
C++实现字节数组与16进制字符串互转,字符串转16进制字符串相关推荐
- c语言 乱码转化为16进制_C语言版的16进制与字符串互转函数
http://www.cnblogs.com/nio-nio/p/3309367.html /* // C prototype : void StrToHex(BYTE *pbDest, BYTE * ...
- 【Java文件操作】一个将文件转化为十六进制字节数组的工具(可以以8086汇编查看内存的格式输出,很优雅)
将文件转化为字节数组 写了一个方法,直接用即可 /*** 将文件转化成字节数组** @param 要转换的文件路径* @return 转换成的字节数组* @throws IOException*/pu ...
- scala 字符串转换数组_如何在Scala中将字节数组转换为字符串?
scala 字符串转换数组 Byte Array in Scala is an array of elements of a byte type. String in Scala is a colle ...
- C# 中字符串string和字节数组byte[]的转换,16 进制字符串转 int的方法
string和byte[]互转 string转byte[] byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); byte[] ...
- C# 16进制与字符串、字节数组之间的转换
在串口通讯过程中,经常要用到 16进制与字符串.字节数组之间的转换 字符串转16进制字节数组 1 private static byte[] strToToHexByte(strin ...
- 加密解密基础问题:字节数组和(16进制)字符串的相互转换
在加密时,一般加密算法和hash算法,它们操作的都是字节数组,对字节数组按照加密算法进行各种变换,运算,得到的结果也是字节数组.而我们一般是要求对字符串进行加密,所以就涉及到字符串String到 by ...
- JAVA里16进制和字节数组互转
大括号理的就是一个byte类型的数组,里面是3个byte类型那个的数 public static String stringToHexString(String strPart) { String h ...
- java字节数组转换成16进制_Java 将字节数组转化为16进制的多种方案
很多时候我们需要将字节数组转化为16进制字符串来保存,尤其在很多加密的场景中,例如保存密钥等.因为字节数组,除了写入文件或者以二进制的形式写入数据库以外,无法直接转为为字符串,因为字符串结尾有\0,当 ...
- python2.7下面字节数组(ByteArray)和16进制字符串(HexString)转化
由于是python2.7 严谨起见,文中不使用字符串的说法,下面只使用str或者unicode的说法 之所以有这个需要,是因为: Hmac-sha1加密在网上计算的结果是HexString,也就是16 ...
- 字符串转16进制字节数组,字节数组转16进制字符串
/// <summary>/// 字符串转16进制字节数组/// </summary>/// <param name="hexString">& ...
最新文章
- 干货 | 22道机器学习常见面试题目
- 订单×××的算法研究与实现
- JOOMLA中文安装时 数据库发生错误解块办法
- Openstack_通用模块_Oslo_vmware 创建 vSS PortGroup
- JS判断是否是移动设备进行http链接重定向
- ABAP data extract 数据抽取总结
- java编写github监控_【原创工具】github监控工具
- 那些把天聊死的神操作。。| 今日最佳
- 前端学习(2383):vue编码规范
- 口琴膜片什么作用_思域发动机舱里的这个东西是什么东东,它究竟有什么作用呢?...
- poj 2528 Mayor's posters(线段树+离散化)
- c# 之抽象工厂模式
- c语言屏蔽按键,VC实现让关闭按钮成灰色不可用的方法
- Happy Mid-Autumn Festival !
- javascript数字补零
- 陶哲轩实分析 定理 13.4.6
- FlowNet 2.0的阅读笔记
- [计算机网络】【网络设备】虚拟局域网
- 利用java对接阿里云sls服务(aliyun-log)做浏览记录
- 嵌入式linux编程开发必备知识
热门文章
- 大数据有哪些重要的作用
- “零计划”首批20部作品成功输出,网易云阅读IP潜力大盘点
- Ubuntu连上网络上不了网
- SQL union,union all,sql临时表
- 高级语言(High-level programming language)
- 计算机图形学在装饰设计中的应用,混沌分形图在软装饰艺术设计中的应用研究...
- 第15天|日语中表达想...的语法有哪些?
- 产品设计体会(0011)我想做产品经理,如何入行
- Android 定位服务和位置权限
- 2022浙江省计算机三级网络及安全技术考试知识点总结