C#byte数组、2/8/10/16进制字符串、字符串数据互转

本文介绍了在C#串口开发中如何处理byte数组,提供了一个名为ByteArrayConvert的工具类,包含了byte数组与2/8/10/16进制字符串之间的相互转换方法,并通过实例展示了其使用效果。
摘要由CSDN通过智能技术生成

一、起始

在C#串口开发过程中串口读出来的数据都是byte数组类型的,byte数组不方便查看,因此经常会遇见数据转换的问题。下面就介绍一些常用的数据装换的操作。这些操作虽然很基础,但是使用是非常频繁的,如果有一个工具类将会方便很多。

二、编写工具类

首先创建一个工具类ByteArrayConvert,全部方法都用公共静态方法,方便以后使用调用。类里面的方法有

byte数组转字符串,字符串转byte数组

byte数组转16进制字符串,16进制字符串转byte数组

byte数组转10进制字符串,10进制字符串转byte数组

byte数组转8进制字符串,8进制字符串转byte数组

byte数组转2进制字符串,2进制字符串转byte数组

public class ByteArrayConvert
    {
   

       

        /// <summary>
        /// byte数组转string
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string  byteArrayToString(byte[] data) {
   


            return Encoding.Default.GetString(data);
        }



        /// <summary>
        /// string转 byte数组
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static byte[] stringToByteArray(string data)
        {
   

            return Encoding.Default.GetBytes(data);
        }





        /// <summary>
        /// byte数组转16进制字符串
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static string byteArrayToHexString(byte[] data)
        {
   
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < data.Length; i++)
            {
   
                builder.Append(string.Format("{0:X2} ", data[i]));
            }
            return builder.ToString().Trim();
        }

        /// <summary>
        /// 16进制字符串转byte数组
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static byte[] hexStringToByteArray(string data)
        {
   
            string[] chars = data.Split(new char[] {
    ' ' }, StringSplitOptions.RemoveEmptyEntries);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值