浏览代码

修复0107iccid的读取字节数

tags/v2.2.6
SmallChi(Koike) 5 年前
父节点
当前提交
bd4e1a048e
共有 2 个文件被更改,包括 7 次插入7 次删除
  1. +5
    -5
      src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs
  2. +2
    -2
      src/JT808.Protocol/MessageBody/JT808_0x0107.cs

+ 5
- 5
src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs 查看文件

@@ -26,7 +26,7 @@ namespace JT808.Protocol.Test.MessageBody
MakerId = "10601",
TerminalModel = "10455545955103",
TerminalId = "4d6a13",
Terminal_SIM_ICCID = "1232355987",
Terminal_SIM_ICCID = "12345678901234567890",
Terminal_Hardware_Version_Num = "abcdefg",
Terminal_Firmware_Version_Num = "poiuytrewq",
// 00000111
@@ -36,14 +36,14 @@ namespace JT808.Protocol.Test.MessageBody
};
jT808Package.Bodies = jT808_0X0107;
string hex = JT808Serializer.Serialize(jT808Package).ToHexString();
//"7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E"
Assert.Equal("7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E".Replace(" ", ""), hex);
//"7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E
Assert.Equal("7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E".Replace(" ", ""), hex);
}

[Fact]
public void Test2()
{
byte[] bytes = "7E 01 07 00 3C 11 22 33 44 55 66 22 B8 00 05 31 30 36 30 31 31 30 34 35 35 35 34 35 39 35 35 31 30 33 30 30 30 30 30 30 34 64 36 61 31 33 30 12 32 35 59 87 07 61 62 63 64 65 66 67 0A 70 6F 69 75 79 74 72 65 77 71 07 09 6C 7E".ToHexBytes();
byte[] bytes = "7E0107004111223344556622B8000531303630313130343535353435393535313033303030303030346436613133301234567890123456789007616263646566670A706F69757974726577710709DA7E".ToHexBytes();
JT808Package jT808Package = JT808Serializer.Deserialize(bytes);
JT808_0x0107 jT808_0X0107 = (JT808_0x0107)jT808Package.Bodies;
Assert.Equal(8888, jT808Package.Header.MsgNum);
@@ -53,7 +53,7 @@ namespace JT808.Protocol.Test.MessageBody
Assert.Equal("10601", jT808_0X0107.MakerId);
Assert.Equal("10455545955103000000", jT808_0X0107.TerminalModel);
Assert.Equal("4d6a130", jT808_0X0107.TerminalId);
Assert.Equal("1232355987", jT808_0X0107.Terminal_SIM_ICCID);
Assert.Equal("12345678901234567890", jT808_0X0107.Terminal_SIM_ICCID);
Assert.Equal("abcdefg", jT808_0X0107.Terminal_Hardware_Version_Num);
Assert.Equal("poiuytrewq", jT808_0X0107.Terminal_Firmware_Version_Num);
Assert.Equal(7, jT808_0X0107.GNSSModule);


+ 2
- 2
src/JT808.Protocol/MessageBody/JT808_0x0107.cs 查看文件

@@ -100,7 +100,7 @@ namespace JT808.Protocol.MessageBody
jT808_0X0107.TerminalModel = reader.ReadString(20);
jT808_0X0107.TerminalId = reader.ReadString(7);
}
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(10, config.Trim);
jT808_0X0107.Terminal_SIM_ICCID = reader.ReadBCD(20, config.Trim);
jT808_0X0107.Terminal_Hardware_Version_Length = reader.ReadByte();
jT808_0X0107.Terminal_Hardware_Version_Num = reader.ReadString(jT808_0X0107.Terminal_Hardware_Version_Length);
jT808_0X0107.Terminal_Firmware_Version_Length = reader.ReadByte();
@@ -125,7 +125,7 @@ namespace JT808.Protocol.MessageBody
writer.WriteString(value.TerminalModel.PadRight(20, '0'));
writer.WriteString(value.TerminalId.PadRight(7, '0'));
}
writer.WriteBCD(value.Terminal_SIM_ICCID, 10);
writer.WriteBCD(value.Terminal_SIM_ICCID, 20);
writer.WriteByte((byte)value.Terminal_Hardware_Version_Num.Length);
writer.WriteString(value.Terminal_Hardware_Version_Num);
writer.WriteByte((byte)value.Terminal_Firmware_Version_Num.Length);


正在加载...
取消
保存