tangxu
2022-10-27 7e7e1c9dd1c39b2c38b0a758f3cc9faa0921b808
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace IStation.Untity
{
    /// <summary>
    /// BitTransfer
    /// </summary>
    public class BitTransfer
    {
 
        /// <summary>
        /// 转换为字符串
        /// </summary>
        public static string ToString(byte[] bytes)
        {
            return BitConverter.ToString(bytes);
        }
 
        /// <summary>
        /// 从字符串中转换为bit
        /// </summary>
        public static byte[] FromString(string str, char spliter = '-')
        {
            try
            {
               
                    string[] strSplit = str.Split(spliter);
                    return strSplit.Select(x => byte.Parse(x, System.Globalization.NumberStyles.AllowHexSpecifier)).ToArray();
      
            }
            catch
            {
                return default;
            }
        }
        /// <summary>
        /// 字符串转16进制字符2
        /// </summary>
        /// <param name="content">字符串</param>
        /// <param name="encode">编码格式</param>
        /// <returns></returns>
        private List<byte> FromString(string content, out string error_info)
        {
            //去掉空格
            string[] arr = content.Split(' ');
            if (arr.Length < 3)
            {
                arr = content.Split('-');
                if (arr.Length < 3)
                {
                    error_info = "字符无法解析";
                    return null;
                }
            }
            List<byte> result = new List<byte>();
            for (int i = 0; i < arr.Length; i++)
            {
                if (string.IsNullOrWhiteSpace(arr[i]))
                    continue;
 
                var dddd = Convert.ToByte(arr[i], 16);
                result.Add(dddd);
            }
            error_info = null;
            return result;
        }
 
 
    }
}