diff --git a/src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs b/src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs index af1ab96..4d5691a 100644 --- a/src/JT808.Protocol.Test/MessageBody/JT808_0x0107Test.cs +++ b/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); diff --git a/src/JT808.Protocol/MessageBody/JT808_0x0107.cs b/src/JT808.Protocol/MessageBody/JT808_0x0107.cs index dffdde3..cf02556 100644 --- a/src/JT808.Protocol/MessageBody/JT808_0x0107.cs +++ b/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);