C# byte数组 转换16进制字符串

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

   1.1 BitConverter方式

     string str="aaaa";
     var bytes = Encoding.UTF8.GetBytes(str);
     var hex = BitConverter.ToString(bytes, 0).Replace("-", string.Empty).ToLower();
     Console.WriteLine(hex);

   1.2 StringBuilder方式 

            var str ="aaaa";       
            var bytes = Encoding.UTF8.GetBytes(str);
            StringBuilder sb= new StringBuilder();
            foreach (byte b in bytes)
            {
                //{0:X2} 大写方式
                sb.AppendFormat("{0:x2}", b);
            }
            var hex = sb.ToString();
            Console.WriteLine(hex);

2.16进制字符串转换 byte[]

            var inputByteArray = new byte[hex.Length / 2];
            for (var x = 0; x < inputByteArray.Length; x++)
            {
                var i = Convert.ToInt32(hex.Substring(x * 2, 2), 16);
                inputByteArray[x] = (byte)i;
            }
            str = Encoding.UTF8.GetString(inputByteArray);
            Console.WriteLine(str);

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#中,可以通过循环遍历字节数组的每一个元素,将其转换16进制字符串,并拼接在一起返回结果。下面是一个示例代码: ```csharp public static string ToHexStrFromByte(byte[] byteDatas) { StringBuilder builder = new StringBuilder(); for (int i = 0; i < byteDatas.Length; i++) { builder.Append(string.Format("{0:X2} ", byteDatas[i])); } return builder.ToString().Trim(); } ``` 这个方法将字节数组中的每一个字节转换为两位的16进制字符串,并在每个字符串之间添加一个空格作为分隔符。返回的结果是一个16进制字符串,可以在需要的地方使用。 另外,在C#中,如果需要将普通字符串转换16进制格式的字符串,可以使用`Convert.ToString(byte, 16)`方法。这个方法将一个字节转换16进制字符串。反过来,可以使用`Convert.ToByte(string, 16)`方法将16进制字符串转换为字节。 希望以上信息对您有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C# byte数组16进制字符串相互转化](https://blog.csdn.net/elie_yang/article/details/103684180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值