decode / encode 编解码 关于 byte[] 类型的维护

zw
lxw 7 months ago
parent 5410bbe20b
commit 3b9965554b

@ -18,6 +18,7 @@ public static class BitUtls
private static readonly Type FLOAT = typeof(float);
private static readonly Type DOUBLE = typeof(double);
private static readonly Type STRING = typeof(string);
private static readonly Type BYTEARRAY = typeof(byte[]);
#endregion
@ -211,6 +212,7 @@ public static class BitUtls
public static object Bytes2Value(byte[] bytes, Type propertyType, int start, int length,
double scale, int round,double offset)
{
if (propertyType == BOOLEAN)
{
return Convert.ChangeType(Byte2Bit(bytes, start, length) == 1, propertyType);
@ -255,6 +257,18 @@ public static class BitUtls
{
return Convert.ChangeType(BytesToHexStr(bytes, start, length), propertyType);
}
else if (propertyType == BYTEARRAY)
{
length = length / 8;
byte[] bt = new byte[length];
for (int i = start; i < (start + length); i++)
{
bt[i - start] = bytes[i];
}
return bt;
}
throw new ArgumentException($"参数类型{propertyType}不支持encode");
}
@ -320,6 +334,11 @@ public static class BitUtls
return Encoding.ASCII.GetBytes(s);
}
}
if (propertyType == BYTEARRAY)
{
var bytes = value as byte[];
return bytes;
}
throw new ArgumentException($"参数类型{propertyType}不支持encode");
}

Loading…
Cancel
Save