C# byte[] 转换16进制字符串

1.byte[] 转换16进制字符串

1.1 BitConverter方式

1             var str = DateTime.Now.ToString();
2             var encode = Encoding.UTF8;
3             var bytes = encode.GetBytes(str);
4             var hex = BitConverter.ToString(bytes, 0).Replace("-", string.Empty).ToLower();
5             Console.WriteLine(hex);

1.2 StringBuilder方式

1             var str = DateTime.Now.ToString();
2             var encode = Encoding.UTF8;
3             var bytes = encode.GetBytes(str);
4             var hex = BitConverter.ToString(bytes, 0).Replace("-", string.Empty).ToLower();
5             Console.WriteLine(hex);

2.16进制字符串转换 byte[]

1 var inputByteArray = new byte[hex.Length / 2];
2             for (var x = 0; x < inputByteArray.Length; x++)
3             {
4                 var i = Convert.ToInt32(hex.Substring(x * 2, 2), 16);
5                 inputByteArray[x] = (byte)i;
6             }
7             str = encode.GetString(inputByteArray);
8             Console.WriteLine(str);

原文地址:https://www.cnblogs.com/ycz109/p/8461151.html

时间: 2024-08-29 05:01:47

C# byte[] 转换16进制字符串的相关文章

java中byte[] 和16进制字符串互转

//将byte[]转换为16进制字符串 public static String byte2hex(byte[] b) { StringBuilder hs = new StringBuilder(); String stmp; for (int n = 0; b != null && n < b.length; n++) { stmp = Integer.toHexString(b[n] & 0XFF); if (stmp.length() == 1) hs.append(

Java中byte与16进制字符串的互相转换

Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L).即byte用十六进制表示只占2位. 同理,相反的转换也是将两个16进制字符转换成一个byte,原理同上. 根据以上原理,我们就可

Java中byte与16进制字符串的互相转换(转)

Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制字符串的结果new String(H) + new String(L).即byte用十六进制表示只占2位. 同理,相反的转换也是将两个16进制字符转换成一个byte,原理同上. 根据以上原理,我们就可

C# 校验并转换 16 进制字符串到字节数组

问题 最近在进行硬件上位机开发的时候,经常会遇到将 16 进制字符串转换为 byte[] 的情况,除了这种需求以外,还需要判定一个字符串是否是有效的 16 进制数据. 解决 字符串转 byte[] 的情况可以使用 Convert.ToByte(string) 来解决,16 进制数据的判定则可以结合正则和长度来进行处理. 在这里我是只接受以下两种形式的 16 进制字符串,并对其进行验证和转换. AA 12 34 56 78 06 AA-12-34-56-78-06 下面就是代码: public s

lua 转换16进制字符串为10进制数值

> print(tonumber("03FFACB", 16)) 4192971 利用tonumber函数,"16"表示"03FFACB"为16进制数.

C#数字、16进制字符串和字节之间互转

转自http://luohonghong.blog.163.com/blog/static/78312058201242632055642/ 如下: 1.数字和字节之间互转 int num=12345; byte[] bytes=BitConverter.GetBytes(num);//将int32转换为字节数组 num=BitConverter.ToInt32(bytes,0);//将字节数组内容再转成int32类型 2.将字符串转为16进制字符,允许中文 private string Str

将16进制字符串转换成16进制数据

var tb1 = Tb1.Text; if (string.IsNullOrEmpty(tb1)) { tb1 = "0000"; } var s1 = tb1.Substring(0, 2); var int_1 = Convert.ToInt32(s1, 16); var s2 = tb1.Substring(2, 2); var int_2 = Convert.ToInt32(s2, 16); var bt1 = Convert.ToByte(int_1); var bt2 =

java中如何将byte[]里面的数据转换成16进制字符串

原文链接: http://zhidao.baidu.com/link?url=RmLDjr4PtP_oUE5J2pKNZSvlHt1K7HcCh4-03Y7VkXYhJ0kawg01CtKHZc2uBVxQsHgzl8pp60WBYULP6K15K_ 以下3个方法能将byte[]转化成16进制字符串,可以任选一个 /* * * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int) *来转换成16进制

字节流、字符串、16进制字符串转换__Java(转)

Java代码   /** * @Package: * @ClassName:TypeConversion * @Description:字节流.字符串.16进制字符串转换 * @author:xk * @date:Jan 8, 2013 5:00:08 PM */ public class TypeConversion { /** * @Title:bytes2HexString * @Description:字节数组转16进制字符串 * @param b *            字节数组 *