public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_JT1078_0x9800 value = new JT809_JT1078_0x9800(); var virtualHex = reader.ReadVirtualArray(21); value.VehicleNo = reader.ReadString(21); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]车牌号", value.VehicleNo); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); writer.WriteString($"[{((byte)value.VehicleColor).ReadNumber()}]车牌颜色", value.VehicleColor.ToString()); value.SubBusinessType = reader.ReadUInt16(); writer.WriteString($"[{value.SubBusinessType.ReadNumber()}]子业务类型标识", ((JT809SubBusinessType)value.SubBusinessType).ToString()); value.DataLength = reader.ReadUInt32(); writer.WriteNumber($"[{value.DataLength.ReadNumber()}]后续数据长度", value.DataLength); try { if (config.SubBusinessTypeFactory.TryGetValue(value.SubBusinessType, out object instance)) { if (instance is JT809SubBodies subBodies) { if (!subBodies.SkipSerialization) { writer.WriteStartObject("子业务类型"); instance.Analyze(ref reader, writer, config); writer.WriteEndObject(); } } } } catch { throw new JT809Exception(JT809ErrorCode.SubBodiesParseError, $"SubBusinessType>{value.SubBusinessType.ToString()}"); } }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x1400_0x1413(); var virtualHex = reader.ReadVirtualArray(11); value.SourcePlatformId = reader.ReadBigNumber(11); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]发起报警平台唯一编码", value.SourcePlatformId); virtualHex = reader.ReadVirtualArray(8); value.WarnTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警时间", value.WarnTime); value.SourceDataType = reader.ReadUInt16(); writer.WriteString($"[{value.SourceDataType.ReadNumber()}]对应启动车辆定位信息交换请求消息源子业务类型标识", ((JT809SubBusinessType)value.SourceDataType).ToString()); value.SourceMsgSn = reader.ReadUInt32(); writer.WriteNumber($"[{value.SourceMsgSn.ReadNumber()}对应启动车辆定位信息交换请求消息源报文序列号]", value.SourceMsgSn); virtualHex = reader.ReadVirtualArray(8); value.SupervisionEndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办截止时间", value.SupervisionEndTime); value.SupervisionLevel = (JT809_0x1413_SupervisionLevel)reader.ReadByte(); writer.WriteString($"[{value.SupervisionLevel.ToByteValue()}]督办级别", value.SupervisionLevel.ToString()); virtualHex = reader.ReadVirtualArray(16); value.Supervisor = reader.ReadString(16); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人", value.Supervisor); virtualHex = reader.ReadVirtualArray(20); value.SupervisorTel = reader.ReadString(20); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人联系电话", value.SupervisorTel); virtualHex = reader.ReadVirtualArray(32); value.SupervisorEmail = reader.ReadString(32); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人联系电子邮件", value.SupervisorTel); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x1300 value = new JT809_0x1300(); value.SubBusinessType = reader.ReadUInt16(); writer.WriteString($"[{value.SubBusinessType.ReadNumber()}]子业务类型标识", ((JT809SubBusinessType)value.SubBusinessType).ToString()); value.DataLength = reader.ReadUInt32(); writer.WriteNumber($"[{value.DataLength.ReadNumber()}]后续数据长度", value.DataLength); try { if (config.SubBusinessTypeFactory.TryGetValue(value.SubBusinessType, out object instance)) { if (instance is JT809SubBodies subBodies) { if (!subBodies.SkipSerialization) { instance.Analyze(ref reader, writer, config); } } } } catch { throw new JT809Exception(JT809ErrorCode.SubBodiesParseError, $"SubBusinessType>{value.SubBusinessType.ToString()}"); } }
public JT809_0x9200 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9200 value = new JT809_0x9200(); value.VehicleNo = reader.ReadString(21); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); value.SubBusinessType = reader.ReadUInt16(); value.DataLength = reader.ReadUInt32(); try { if (config.SubBusinessTypeFactory.TryGetValue(value.SubBusinessType, out object instance)) { if (instance is JT809SubBodies subBodies) { if (!subBodies.SkipSerialization) { value.SubBodies = JT809MessagePackFormatterResolverExtensions.JT809DynamicDeserialize( instance, ref reader, config); } } } } catch { throw new JT809Exception(JT809ErrorCode.SubBodiesParseError, $"SubBusinessType>{value.SubBusinessType.ToString()}"); } return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_0x9400_0x9401 value = new JT809_0x9400_0x9401(); value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); writer.WriteString($"[{value.WarnSrc.ToByteValue()}]报警信息来源", value.WarnSrc.ToString()); value.WarnType = reader.ReadUInt16(); writer.WriteNumber($"[{value.WarnType.ReadNumber()}]报警类型", value.WarnType); var virtualHex = reader.ReadVirtualArray(8); value.WarnTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警时间", value.WarnTime); virtualHex = reader.ReadVirtualArray(4); value.SupervisionID = reader.ReadHex(4); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]报警督办ID", value.SupervisionID); virtualHex = reader.ReadVirtualArray(8); value.SupervisionEndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办截止时间", value.SupervisionEndTime); value.SupervisionLevel = (JT809_9401_SupervisionLevel)reader.ReadByte(); writer.WriteString($"[{value.SupervisionLevel.ToByteValue()}]督办级别", value.SupervisionLevel.ToString()); virtualHex = reader.ReadVirtualArray(16); value.Supervisor = reader.ReadString(16); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办人", value.Supervisor); virtualHex = reader.ReadVirtualArray(20); value.SupervisorTel = reader.ReadString(20); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电话", value.SupervisorTel); virtualHex = reader.ReadVirtualArray(32); value.SupervisorEmail = reader.ReadString(32); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]督办联系电子邮件", value.SupervisorEmail); }
public JT809_0x1400_0x1402 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x1400_0x1402(); if (config.Version == JT809Version.JTT2011) { value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); } else { value.SourcePlatformId = reader.ReadString(11); } value.WarnType = (JT809WarnType)reader.ReadUInt16(); value.WarnTime = reader.ReadUTCDateTime(); if (config.Version == JT809Version.JTT2011) { value.InfoID = reader.ReadUInt32(); } else { value.StartTime = reader.ReadUTCDateTime(); value.EndTime = reader.ReadUTCDateTime(); #warning 此处车牌号文档长度有误,使用旧版长度21 value.VehicleNo = reader.ReadString(21); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); value.DestinationPlatformId = reader.ReadString(11); value.DRVLineId = reader.ReadUInt32(); } value.InfoLength = reader.ReadUInt32(); value.InfoContent = reader.ReadString((int)value.InfoLength); return(value); }
public JT809_JT1078_0x9B00_0x9B03 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9B00_0x9B03 jT808_JT1078_0x9B00_0x9B03 = new JT809_JT1078_0x9B00_0x9B03(); jT808_JT1078_0x9B00_0x9B03.SessionId = reader.ReadUInt16(); jT808_JT1078_0x9B00_0x9B03.Type = reader.ReadByte(); return(jT808_JT1078_0x9B00_0x9B03); }
public JT809_JT1078_0x1A00_0x1A01 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x1A00_0x1A01 jT808_JT1078_0x1A00_0x1A01 = new JT809_JT1078_0x1A00_0x1A01(); jT808_JT1078_0x1A00_0x1A01.ServerIp = reader.ReadString(32); jT808_JT1078_0x1A00_0x1A01.ServerPort = reader.ReadUInt16(); jT808_JT1078_0x1A00_0x1A01.Result = reader.ReadByte(); return jT808_JT1078_0x1A00_0x1A01; }
public JT809_JT1078_0x9B00_0x9B02 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9B00_0x9B02 jT808_JT1078_0x9B00_0x9B02 = new JT809_JT1078_0x9B00_0x9B02(); jT808_JT1078_0x9B00_0x9B02.Result = reader.ReadByte(); jT808_JT1078_0x9B00_0x9B02.SessionId = reader.ReadUInt16(); return(jT808_JT1078_0x9B00_0x9B02); }
public JT809_0x9103 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9103 value = new JT809_0x9103(); value.SubBusinessType = reader.ReadUInt16(); value.DataLength = reader.ReadUInt32(); value.Count = reader.ReadByte(); for (int i = 0; i < value.Count; i++) { JT809ManageMsgSNInform item = new JT809ManageMsgSNInform(); item.SubBusinessType = reader.ReadUInt16(); item.MsgSN = reader.ReadUInt32(); item.Time = reader.ReadUTCDateTime(); value.ManageMsgSNInform.Add(item); } return(value); }
public JT809_JT1078_0x1B00_0x1B01 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x1B00_0x1B01 jT808_JT1078_0x1B00_0x1B01 = new JT809_JT1078_0x1B00_0x1B01(); jT808_JT1078_0x1B00_0x1B01.Result = reader.ReadByte(); jT808_JT1078_0x1B00_0x1B01.SessionId = reader.ReadUInt16(); return(jT808_JT1078_0x1B00_0x1B01); }
public JT809_JT1078_0x9B00_0x9B03 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9B00_0x9B03 value = new JT809_JT1078_0x9B00_0x9B03(); value.SessionId = reader.ReadUInt16(); value.Type = (JT809_JT1078_0x9B00_0x9B03_Type)reader.ReadByte(); return(value); }
public JT809_JT1078_0x9B00_0x9B02 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x9B00_0x9B02 value = new JT809_JT1078_0x9B00_0x9B02(); value.Result = (JT809_JT1078_0x9B00_0x9B02_Result)reader.ReadByte(); value.SessionId = reader.ReadUInt16(); return(value); }
public JT809_0x1400_0x1412 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x1400_0x1412(); value.SourceDataType = reader.ReadUInt16(); value.SourceMsgSn = reader.ReadUInt32(); value.Result = (JT809_0x1412_Result)reader.ReadByte(); return(value); }
public JT809_JT1078_0x1800_0x1801 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_JT1078_0x1800_0x1801 value = new JT809_JT1078_0x1800_0x1801(); value.Result = (JT809_JT1078_0x1800_0x1801_Result)reader.ReadByte(); value.ServerIp = reader.ReadString(32); value.ServerPort = reader.ReadUInt16(); return(value); }
public JT809_0x9200_0x9201 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x9200_0x9201(); value.DataType = reader.ReadUInt16(); value.MsgSn = reader.ReadUInt32(); value.Result = (JT809_0x9201_Result)reader.ReadByte(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_JT1078_0x9B00_0x9B02 value = new JT809_JT1078_0x9B00_0x9B02(); value.Result = (JT809_JT1078_0x9B00_0x9B02_Result)reader.ReadByte(); writer.WriteString($"[{((byte)value.Result).ReadNumber()}]应答结果", value.Result.ToString()); value.SessionId = reader.ReadUInt16(); writer.WriteNumber($"[{value.SessionId.ReadNumber()}]对应平台文件上传消息的流水号", value.SessionId); }
public JT809_0x1001 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1001 jT809_0X1001 = new JT809_0x1001(); jT809_0X1001.UserId = reader.ReadUInt32(); jT809_0X1001.Password = reader.ReadString(8); jT809_0X1001.DownLinkIP = reader.ReadString(32); jT809_0X1001.DownLinkPort = reader.ReadUInt16(); return(jT809_0X1001); }
public JT809_0x9200_0x920D Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x9200_0x920D(); value.DRVLineID = reader.ReadUInt32(); value.Result = reader.ReadByte(); value.ReasonLength = reader.ReadUInt16(); value.Reason = reader.ReadString(value.ReasonLength); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x1400_0x1412(); value.SourceDataType = reader.ReadUInt16(); writer.WriteString($"[{value.SourceDataType.ReadNumber()}]对应启动车辆定位信息交换请求消息源子业务类型标识", ((JT809SubBusinessType)value.SourceDataType).ToString()); value.SourceMsgSn = reader.ReadUInt32(); writer.WriteNumber($"[{value.SourceMsgSn.ReadNumber()}对应启动车辆定位信息交换请求消息源报文序列号]", value.SourceMsgSn); value.Result = (JT809_0x1412_Result)reader.ReadByte(); writer.WriteString($"[{value.Result.ToByteValue()}]报警处理结果", value.Result.ToString()); }
public JT809_0x9102 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9102 value = new JT809_0x9102(); value.SubBusinessType = reader.ReadUInt16(); value.DataLength = reader.ReadUInt32(); value.PlateformId = reader.ReadString(11); value.StartTime = reader.ReadUTCDateTime(); value.EndTime = reader.ReadUTCDateTime(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x9200_0x9201(); value.DataType = reader.ReadUInt16(); writer.WriteNumber($"[{value.DataType.ReadNumber()}]车辆注册醒醒消息源子业务类型标识", value.DataType); value.MsgSn = reader.ReadUInt32(); writer.WriteNumber($"[{value.MsgSn.ReadNumber()}]车辆注册信息消息源报文序号", value.MsgSn); value.Result = (JT809_0x9201_Result)reader.ReadByte(); writer.WriteString($"[{value.Result.ToByteValue()}]处理结果", value.Result.ToString()); }
public JT809_0x9400_0x9403 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x9400_0x9403 jT809_0X9400_0X9403 = new JT809_0x9400_0x9403(); jT809_0X9400_0X9403.WarnSrc = (JT809WarnSrc)reader.ReadByte(); jT809_0X9400_0X9403.WarnType = (JT809WarnType)reader.ReadUInt16(); jT809_0X9400_0X9403.WarnTime = reader.ReadUTCDateTime(); jT809_0X9400_0X9403.WarnLength = reader.ReadUInt32(); jT809_0X9400_0X9403.WarnContent = reader.ReadString((int)jT809_0X9400_0X9403.WarnLength); return(jT809_0X9400_0X9403); }
public JT809_0x1600_0x1601 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1600_0x1601 value = new JT809_0x1600_0x1601(); if (config.Version == JT809Version.JTT2019) { value.SourceDataType = reader.ReadUInt16(); value.SourceMsgSn = reader.ReadUInt32(); } value.CarInfo = reader.ReadRemainStringContent(); return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { JT809_JT1078_0x1A00_0x1A01 value = new JT809_JT1078_0x1A00_0x1A01(); var virtualHex = reader.ReadVirtualArray(32); value.ServerIp = reader.ReadString(32); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]企业视频服务器ip地址", value.ServerIp); value.ServerPort = reader.ReadUInt16(); writer.WriteNumber($"[{value.ServerPort.ReadNumber()}]企业视频服务器端口号", value.ServerPort); value.Result = (JT809_JT1078_0x1A00_0x1A01_Result)reader.ReadByte(); writer.WriteString($"[{((byte)value.Result).ReadNumber()}]应答结果", value.Result.ToString()); }
public JT809_0x1200_0x1206 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x1200_0x1206(); if (config.Version == JT809Version.JTT2019) { value.SourceDataType = reader.ReadUInt16(); value.SourceMsgSN = reader.ReadUInt32(); value.DataLength = reader.ReadUInt32(); } return(value); }
public JT809_0x1400_0x1402 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1400_0x1402 jT809_0X1400_0X1402 = new JT809_0x1400_0x1402(); jT809_0X1400_0X1402.WarnSrc = (JT809WarnSrc)reader.ReadByte(); jT809_0X1400_0X1402.WarnType = (JT809WarnType)reader.ReadUInt16(); jT809_0X1400_0X1402.WarnTime = reader.ReadUTCDateTime(); jT809_0X1400_0X1402.InfoID = reader.ReadUInt32(); jT809_0X1400_0X1402.InfoLength = reader.ReadUInt32(); jT809_0X1400_0X1402.InfoContent = reader.ReadString((int)jT809_0X1400_0X1402.InfoLength); return(jT809_0X1400_0X1402); }
public JT809_0x9200_0x9209 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { var value = new JT809_0x9200_0x9209(); if (config.Version == JT809Version.JTT2019) { value.SourceDataType = reader.ReadUInt16(); value.SourceMsgSn = reader.ReadUInt32(); } value.Result = (JT809_0x9209_Result)reader.ReadByte(); return(value); }
public JT809_0x1200_0x1202 Deserialize(ref JT809MessagePackReader reader, IJT809Config config) { JT809_0x1200_0x1202 value = new JT809_0x1200_0x1202(); if (config.Version == JT809Version.JTT2011) { value.VehiclePosition = new JT809VehiclePositionProperties(); value.VehiclePosition.Encrypt = (JT809_VehiclePositionEncrypt)reader.ReadByte(); value.VehiclePosition.Day = reader.ReadByte(); value.VehiclePosition.Month = reader.ReadByte(); value.VehiclePosition.Year = reader.ReadUInt16(); value.VehiclePosition.Hour = reader.ReadByte(); value.VehiclePosition.Minute = reader.ReadByte(); value.VehiclePosition.Second = reader.ReadByte(); value.VehiclePosition.Lon = reader.ReadUInt32(); value.VehiclePosition.Lat = reader.ReadUInt32(); value.VehiclePosition.Vec1 = reader.ReadUInt16(); value.VehiclePosition.Vec2 = reader.ReadUInt16(); value.VehiclePosition.Vec3 = reader.ReadUInt32(); value.VehiclePosition.Direction = reader.ReadUInt16(); value.VehiclePosition.Altitude = reader.ReadUInt16(); value.VehiclePosition.State = reader.ReadUInt32(); value.VehiclePosition.Alarm = reader.ReadUInt32(); } else { value.GNSSData = new JT809VehiclePositionProperties_2019(); value.GNSSData.Encrypt = (JT809_VehiclePositionEncrypt)reader.ReadByte(); value.GNSSData.DataLength = reader.ReadUInt32(); #warning 引用808的0x0200协议 value.GNSSData.GnssData = reader.ReadArray((int)value.GNSSData.DataLength).ToArray(); value.GNSSData.PlatformId1 = reader.ReadString(11); value.GNSSData.Alarm1 = reader.ReadUInt32(); value.GNSSData.PlatformId2 = reader.ReadString(11); value.GNSSData.Alarm2 = reader.ReadUInt32(); value.GNSSData.PlatformId3 = reader.ReadString(11); value.GNSSData.Alarm3 = reader.ReadUInt32(); } return(value); }
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) { var value = new JT809_0x1400_0x1402(); if (config.Version == JT809Version.JTT2011) { value.WarnSrc = (JT809WarnSrc)reader.ReadByte(); writer.WriteString($"[{value.WarnSrc.ToByteValue()}]报警信息来源", value.WarnSrc.ToString()); } else { var virtualHex = reader.ReadVirtualArray(11); value.SourcePlatformId = reader.ReadString(11); writer.WriteString($"[{virtualHex.ToArray().ToHexString()}]发起报警平台唯一编码", value.SourcePlatformId); } value.WarnType = (JT809WarnType)reader.ReadUInt16(); writer.WriteString($"[{value.WarnType.ToByteValue()}]报警类型", value.WarnType.ToString()); var hex = reader.ReadVirtualArray(8); value.WarnTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]报警时间", value.WarnTime); if (config.Version == JT809Version.JTT2011) { value.InfoID = reader.ReadUInt32(); writer.WriteNumber($"[{value.InfoID.ReadNumber()}]信息ID", value.InfoID); } else { hex = reader.ReadVirtualArray(8); value.StartTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]事件开始时间", value.StartTime); hex = reader.ReadVirtualArray(8); value.EndTime = reader.ReadUTCDateTime(); writer.WriteString($"[{hex.ToArray().ToHexString()}]事件结束时间", value.EndTime); #warning 此处车牌号文档长度有误,使用旧版长度21 hex = reader.ReadVirtualArray(21); value.VehicleNo = reader.ReadString(21); writer.WriteString($"[{hex.ToArray().ToHexString()}]车牌号码", value.VehicleNo); value.VehicleColor = (JT809VehicleColorType)reader.ReadByte(); writer.WriteString($"[{value.VehicleColor.ToByteValue()}]车牌颜色", value.VehicleColor.ToString()); hex = reader.ReadVirtualArray(11); value.DestinationPlatformId = reader.ReadString(11); writer.WriteString($"[{hex.ToArray().ToHexString()}]被报警平台唯一编码", value.DestinationPlatformId); value.DRVLineId = reader.ReadUInt32(); writer.WriteNumber($"[{value.DRVLineId.ReadNumber()}]线路ID", value.DRVLineId); } value.InfoLength = reader.ReadUInt32(); writer.WriteNumber($"[{value.InfoLength.ReadNumber()}]数据长度", value.InfoLength); hex = reader.ReadVirtualArray((int)value.InfoLength); value.InfoContent = reader.ReadString((int)value.InfoLength); writer.WriteString($"[{hex.ToArray().ToHexString()}]信息内容", value.InfoContent); }