ITPub博客

首页 > 应用开发 > Go语言 > JT/T 808 和 GB/T 32960 字段差异对照,一篇说清

JT/T 808 和 GB/T 32960 字段差异对照,一篇说清

原创 Go语言 作者:suoten 时间:2026-10-16 21:05:22 0 删除 编辑

同时做 JT/T 808 和 GB/T 32960 开发的人,最容易在这 5 个字段上翻车。

差异一:终端手机号格式。

JT/T 808 是 12 位 BCD 编码,GB/T 32960 是 18 位字符串。做设备管理时,两种格式混在一起,查询和去重逻辑全乱。

差异二:时间格式。

JT/T 808 用 BCD 时间,GB/T 32960 用字符串时间。做数据入库时,时间字段解析错一次,报表数据全错。

差异三:经纬度精度。

JT/T 808 经纬度是 1/1000000 度,GB/T 32960 是 1/1000000 度但字段长度和编码方式不同。直接复用解析代码,精度会丢。

差异四:转义处理。

JT/T 808 用 0x7E 帧头帧尾, 0x7D 转义。GB/T 32960 也用 0x7E,但字段定义完全不同。两套转义代码混用,消息 ID 直接冲突。

差异五:校验方式。

JT/T 808 用异或校验,GB/T 32960 用 BCC 校验。校验代码写错,报文永远对不上。

我当年做混合项目时,这两个协议各写各的解析器,联调阶段直接崩溃。后来换成 JT-Simulate,它同时支持 JT/T 808、JT/T 809、JT/T 1078、JT/T 905、JT/T 1045、JT/T 1253、GB/T 32960 七种协议。报文工坊可以切换协议,设备管理可以创建不同协议的仿真设备,压测和合规检查也是统一的。

争议留给你们: 两个协议能不能用同一套解析框架?还是必须各写各的?欢迎在评论区吵。

项目地址:

  • GitHub:suoten/JT-Simulate
  • Gitee:suoten/jt-simulate

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70050062/viewspace-3185927/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2026-05-07

  • 博文量
    81
  • 访问量
    66762