C# 字节数组和字符串 互转

本章讲述:部分数据类型,格式转换(十六进制字符串和字节数组 互转    字节数组和字符串 互转) 

public class HexConverter
{
	#region 格式转换
	/// <summary>
	/// 转换十六进制字符串到字节数组
	/// </summary>
	/// <param name="msg">待转换字符串</param>
	/// <returns>字节数组</returns>
	public static byte[] HexToByte(string msg)
	{
		msg = msg.Replace(" ", "");//移除空格

		//create a byte array the length of the
		//divided by 2 (Hex is 2 characters in length)
		byte[] comBuffer = new byte[msg.Length / 2];
		for (int i = 0; i < msg.Length; i += 2)
		{
			//convert each set of 2 characters to a byte and add to the array
			comBuffer[i / 2] = (byte)Convert.ToByte(msg.Substring(i, 2), 16);
		}

		return comBuffer;
	}

	/// <summary>
	/// 转换字节数组到十六进制字符串
	/// </summary>
	/// <param name="comByte">待转换字节数组</param>
	/// <returns>十六进制字符串</returns>
	public static string ByteToHex(byte[] comByte)
	{
		StringBuilder builder = new StringBuilder(comByte.Length * 3);
		foreach (byte data in comByte)
		{
			builder.Append(Convert.ToString(data, 16).PadLeft(2, '0').PadRight(3, ' '));
		}

		return builder.ToString().ToUpper();
	}

	public static string ByteToString(byte[] InBytes) 
	{
		string StringOut="";
//             foreach (byte InByte in InBytes) 
//             {
//                 StringOut=StringOut + String.Format("{0:X2} ",InByte);
//             }
		StringOut = System.Text.Encoding.ASCII.GetString(InBytes);
		return StringOut; 
	}
	public static byte[] StringToByte(string InString) 
	{
		string[] ByteStrings;
		ByteStrings = InString.Split(" ".ToCharArray());
		byte[] ByteOut;
		ByteOut = new byte[ByteStrings.Length-1];
		for (int i = 0;i==ByteStrings.Length-1;i++) 
		{
			ByteOut[i] = Convert.ToByte(("0x" + ByteStrings[i]));
		} 
		return ByteOut;
	}

	#endregion
}

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值