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;
|
}
|
|
|
}
|
}
|