powerfun-unity/Assets/Scripts/Devices/Ble/BitConvertHelper.cs

61 lines
1.5 KiB
C#
Raw Normal View History

2021-05-19 14:38:48 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Assets.Scripts
{
public static class BitConvertHelper
{
public static byte Lsn(byte b)
{
return (byte)(b & 15);
}
// Token: 0x060032F7 RID: 13047 RVA: 0x000C22C3 File Offset: 0x000C04C3
public static byte Lsn(byte[] bytes, int index)
{
return BitConvertHelper.Lsn(bytes[index]);
}
public static byte ToUInt8(byte[] bytes, int index)
{
return bytes[index];
}
// Token: 0x060032FB RID: 13051 RVA: 0x000C22E8 File Offset: 0x000C04E8
public static ushort ToUInt12(byte[] bytes, int index)
{
return (ushort)((int)bytes[index] + ((int)BitConvertHelper.Lsn(bytes[index + 1]) << 8));
}
public static ushort ToUInt16(byte[] bytes, int startIndex)
{
return BitConverter.ToUInt16(bytes, startIndex);
}
public static short ToInt16(byte[] bytes, int startIndex)
{
return BitConverter.ToInt16(bytes, startIndex);
}
public static uint ToUInt32(byte[] bytes, int startIndex)
{
return BitConverter.ToUInt32(bytes, startIndex);
}
2021-09-23 18:14:53 +08:00
public static uint ToUInt24(byte[] bytes, int startIndex)
{
return (uint)((int)bytes[startIndex] | (int)bytes[startIndex + 1] << 8 | (int)bytes[startIndex + 2] << 16);
}
2022-06-23 18:55:08 +08:00
public static byte[] HexToByteArray(string hex)
{
hex=hex.Replace(" ", "");
return Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
.ToArray();
}
2021-05-19 14:38:48 +08:00
}
}