C# - 字符串转字节数组

该方法接受一个包含十六进制数字的字符串,以及一个字节数组和可选的分隔符数组。如果提供分隔符,它会按分隔符拆分字符串并转换每个部分;否则,它会按每两个字符切割字符串并转换为字节。返回值是转换后的字节长度。
摘要由CSDN通过智能技术生成

        public static int Str2BYTEs(string datastr, byte[] databytes, char[] spera)
        {
            string str1 = datastr.Trim();
            if (str1.Length == 0)
                return 0;

            if (spera != null)
            {
                string[] temp = str1.Split(spera);
                for (int i = 0; i < temp.Length; i++)
                {
                    databytes[i] = Convert.ToByte(temp[i], 16);
                }
                return temp.Length;
            }
            else/无间隔的字符串:1122334455
            {
                for (int i = 0; i < str1.Length/2; i++)
                {
                    string substr1 = str1.Substring(i * 2, 2);
                    databytes[i] = Convert.ToByte(substr1, 16);
                }
                return str1.Length / 2;
            }

        }

调用示例///

            string str1 = "11 22 33 44 55";
            byte[] buf1 = new byte[100];
            int len1 = CFunc.Str2BYTEs(str1, buf1, new char[] { ' ' });

            string str2 = "1122334455";
            byte[] buf2 = new byte[100];
            int len2 = CFunc.Str2BYTEs(str2, buf2, null);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值