C# 16进制字符串和Byte数组互转帮助类

C# 16进制字符串和Byte数组互转帮助类

最近开发上位机程序主要负责和下位机通信,为了方便拿测试指令数据测试,需要将厂家给的demo数据直接拿程序进行测试,做下记录后期复用。

/// <summary>
/// 16进制和数组互转帮助类
/// </summary>
class ByteHelper
{
/// <summary>
/// byte数组转16进制字符串
/// </summary>
/// <param name="data">byte数组</param>
/// <returns></returns>
public static string ByteArrayToHexString(byte[] data)
{
StringBuilder sb = new StringBuilder(data.Length * 3);
foreach (byte b in data)
{
sb.Append(Convert.ToString(b, 16).PadLeft(2, '0'));
}
return sb.ToString().ToUpper();
}
/// <summary>
/// 16进制字符串转byte数组
/// </summary>
/// <param name="hexString">16进制字符</param>
/// <returns></returns>
public static byte[] ByteArrayToHexString(string hexString,string spiltChar=" ")
{
if (!string.IsNullOrEmpty(spiltChar))
{
hexString = hexString.Replace(spiltChar,"");
}
//将16进制秘钥转成字节数组
var byteArray = new byte[hexString.Length / 2];
for (var x = 0; x < byteArray.Length; x++)
{
var i = Convert.ToInt32(hexString.Substring(x * 2, 2), 16);
byteArray[x] = (byte)i;
}
return byteArray;
}
}
posted @   星火燎猿*  阅读(163)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言
点击右上角即可分享
微信分享提示