2 changed files with 36 additions and 2 deletions
@ -1,11 +1,42 @@ |
|||||||
using System.Collections; |
using System.Collections; |
||||||
using System.Collections.Generic; |
using System.Collections.Generic; |
||||||
using UnityEngine; |
using UnityEngine; |
||||||
|
using LitJson; |
||||||
|
using System; |
||||||
|
|
||||||
namespace JXSoft { |
namespace JXSoft { |
||||||
//协议规则解析通用方法扩展 |
//协议规则解析通用方法扩展 |
||||||
public static class ProtocolRulesExtention |
public static class ProtocolRulesExtention |
||||||
{ |
{ |
||||||
|
/// <summary> |
||||||
|
/// 根据Byte类型数据获取对应的值。 |
||||||
|
/// </summary> |
||||||
|
/// <param name="self">只能包含A-F,0-9</param> |
||||||
|
/// <param name="start">起始位置</param> |
||||||
|
/// <param name="length">长度</param> |
||||||
|
/// <returns></returns> |
||||||
|
public static byte[] toByteArray(this string self) { |
||||||
|
int hexlen = self.Length; |
||||||
|
byte[] result; |
||||||
|
if (hexlen % 2 == 1) |
||||||
|
{ |
||||||
|
//奇数 |
||||||
|
hexlen++; |
||||||
|
result = new byte[(hexlen / 2)]; |
||||||
|
self += "0" ; |
||||||
|
} |
||||||
|
else |
||||||
|
{ |
||||||
|
//偶数 |
||||||
|
result = new byte[(hexlen / 2)]; |
||||||
|
} |
||||||
|
int j = 0; |
||||||
|
for (int i = 0; i < hexlen; i += 2) |
||||||
|
{ |
||||||
|
result[j] = (byte)int.Parse(self.Substring(i, 2), System.Globalization.NumberStyles.HexNumber); |
||||||
|
j++; |
||||||
|
} |
||||||
|
return result; |
||||||
|
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue