HEX报文协议打包生成工具

本工具可以用于灵活定制各种格式的报文。以下是定制报文中每个字段的说明:

  • isbig:指示报文中的字节顺序是否为大端序(Big Endian)。如果为true,则表示使用大端序;如果为false,则表示使用小端序。
  • frame:报文的字段定义数组,每个字段定义包括字段名称、字段类型、字段长度以及可选的其他属性。
  • name:字段名称,用于标识字段的含义,可以自定义,不能重复。
  • type:字段类型,指定字段的数据类型。类型包括fix(固定值)、len(长度字段)、dec(十进制数值)、str(字符串)、hex(十六进制数值)和crc(CRC校验值)等。
  • len:字段长度,指定字段的字节长度。hexstr类型不需要长度,会自动计算;crc不需要,会根据mode类型自动计算。
  • refer:长度参考字段,用于指定字段长度的参考字段的名字。例如,len字段的长度可以参考strhex字段值的长度加偏移量。
  • value:字段的值。dechexstr类型不需要值,界面会自动生成输入框,dec只能输入10进制数如1234,hex只能输入16进制数如11aabbcc,len类型的value代表初始长度,最终值是初始值加引用长度值;crc类型的value代表校验跳过开头的长度的字节,默认0从头开始校验。
  • mode:CRC校验模式,用于指定CRC校验的算法。常见的模式包括crc8crc16crc32等。

以上是对每个字段的简要说明。根据这些字段定义,你可以使用该工具生成符合特定格式的报文,并根据需要设置字段的值。

举例,编辑frame.txt文件,定制报文格式

{
“isbig”:true,
“frame”:[
{“name”:”head”,”type”:”fix”,”len”:2,”value”:0xffaa},
{“name”:”len”,”type”:”len”,”len”:2,”refer”:”data”,”value”:6},
{“name”:”dec1″,”len”:2,”type”:”dec”},
{“name”:”dec2″,”len”:2,”type”:”dec”},
{“name”:”str1″,”type”:”str”},
{“name”:”data”,”type”:”hex”},
{“name”:”crc”,”type”:”crc”,”mode”:”crc16″,”value”:”0″}],
}

打开软件如上图,dec1输入1,dec2输入11,str1输入22,data输入3344,结果输出:FF AA 00 08 00 01 00 0B 32 32 33 44 D7 45

根据配置文件,len的值为data长度加6等于8,dec2的位置输入十进制数11结果为0x000b,字符串“22”转成hex后为3232,data内容保持不变,crc算法为CRC16/CCITT-FALSE,计算范围为从开头到数据结尾,如果帧定义中crc段value>0,则代表偏移value个字节后开始计算。

软件下载地址:https://www.armfun.cn/wp-content/uploads/2023/12/HEX报文协议生成工具.rar(解压码:www.armfun.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/585941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centrifuge5.0.1版本请求websocket实例

目录 一、安转 二、快速开始 三、实例开始 centrifuge提供了一个客户端,可使用纯 WebSocket 或一种替代传输(HTTP 流、SSE/EventSource、实验性 WebTransport)从 Web 浏览器、ReactNative 或 NodeJS 环境连接到Centrifugo或任何基于 Cent…

WorkPlus局域网即时通讯软件的领航者,连接高效协作的利器

在快速发展的商业环境中,高效的内部沟通和协作对于企业的成功至关重要。而局域网即时通讯软件则成为实现内部高效沟通的必备工具。作为一款领航者级别的局域网即时通讯软件,WorkPlus通过卓越的性能和创新的技术,成为了众多企业的首选之一。 W…

ggplot2 | line plot 分组及均值线:聚类后的表达变化趋势图

1. 效果图 2. 预处理及绘图 # 输入数据 > head(dat)Species cid variable value 1 setosa 1 Sepal.Length 5.1 2 setosa 2 Sepal.Length 4.9 3 setosa 3 Sepal.Length 4.7 4 setosa 4 Sepal.Length 4.6 5 setosa 5 Sepal.Length 5.0 6 setos…

selenium模块有哪些用途?

Selenium模块是一个用于Web应用程序测试的模块,具有多种示例用法。以下是一些示例: 1.打开网页并执行一些基本操作,如点击按钮、输入文本等。 定位网页元素并执行操作,例如使用 find_element 方法查找单个元素,使用 f…

2023第三届中国高校大数据挑战赛B题代码

任务已完成,聚类效果很好(主要在于数据的处理以及特征工程), 需代码si,yuer有限先到先得。

Git 使用规范:起名字、提交描述的最佳实践

1. 推荐写法(本人常用) Git 仓库命令规则: 前端:系统名-简单描述-front后端:系统名-简单描述-server Git 提交描述: docs(changelog): update change log to beta.5其中: ● docs 则对应修改…

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…

Linux 服务器安全策略技巧:使用容器进行应用程序隔离

Linux 服务器安全策略技巧:使用容器进行应用程序隔离 什么是容器? 容器是一种虚拟化技术,用于隔离应用程序和其依赖的运行环境。与传统的虚拟机相比,容器更加轻量级,启动速度更快,并且可以在不同的操作系统上运行。容器使用操作系统级别的虚拟化来实现隔离,每个容器都…

09.kubernetes 部署calico / flannel网络插件

脚本中实现了 calico 和 flannel 这两种主流的网络插件,选择其中一种部署即可 1、calico calico架构 Calico是一个三层的虚拟网络解决方案,它把每个节点都当作虚拟路由器(vRouter),并把每个节点上的Pod都当作是节点路由器后的一个终端设备并为其分配一个IP地址。各节点…

TCP/IP的五层网络模型

目录 封装(打包快递) 6.1应用层 6.2传输层 6.3网络层 6.4数据链路层 6.5物理层 分用(拆快递) 6.5物理层 6.4数据链路层 6.3网络层 6.2传输层 6.1应用层 封装(打包快递) 6.1应用层 此时做的数据…

Xshell——Windows将本地文件上传到Linux服务器

1、scp命令 scp是基于ssh的网络文件传输命令,可以将本地文件或文件夹直接上传到服务器指定位置。命令格式: 上传文件 scp -P port filepath usernameip:TargetPath 上传文件夹 scp -r -P port filepath usernameip:TargetPath -P port:用于指…

java中如何使用elasticsearch—RestClient操作文档(CRUD)

目录 一、案例分析 二、Java代码中操作文档 2.1 初始化JavaRestClient 2.2 添加数据到索引库 2.3 根据id查询数据 2.4 根据id修改数据 2.4 删除操作 三、java代码对文档进行操作的基本步骤 一、案例分析 去数据库查询酒店数据,导入到hotel索引库&#xff0…

普通人如何月入过万?2024普通人创业适合干什么?

如果你的月收入不到1万块,也从来没有体验过一天就赚1万块是什么感觉的话,你还想创业?你如果想通过创业逆天改命,麻烦你一定要看完这篇文章。 普通人你要是想赚钱,一定要去赚那种能看得见的钱。 什么叫看得见的钱&…

Linux上管理不同版本的 JDK

当在 Linux 上管理不同版本的 JDK 时,使用 yum 和 dnf 可以方便地安装和切换不同的 JDK 版本。本文将介绍如何通过这两个包管理工具安装 JDK 1.8 和 JDK 11,并利用软连接动态关联这些版本。 安装 JDK 1.8 和 JDK 11 使用 yum 安装 JDK 1.8 打开终端并…

第十二章 文档对象模型(DOM)的介绍和使用

文章目录 一、DOM介绍二、节点选择器三、属性操作四、样式操作五、尺寸类属性的快速获取六、标签操作八、练习 一、DOM介绍 DOM:文档对象模型,document,提供了网页的相关操作。 document是window的子对象之一,但是DOM不属于BOM D…

在Linux上搭建Maven仓库的实战教程

引言 在Java开发中,Maven作为项目构建和依赖管理的重要工具,其仓库的搭建至关重要。本文将手把手教你如何在Linux系统上安装并配置Nexus Repository Manager 3(简称Nexus 3),从而创建一个私有的Maven仓库。 步骤一&a…

Solidworks学习笔记

本内容为solidworks的学习笔记,根据自己的理解进行记录,部分可能不正确,请自行判断。 学习视频参考:【SolidWorks2018视频教程 SW2018中文版软件基础教学知识 SolidWorks自学教程软件操作教程 sw视频教程 零基础教程 视频教程】 h…

69内网安全-域横向CobaltStrikeSPNRDP

这节课主要讲spn和rdp协议, 案例一域横向移动RDP传递-Mimikatz rdp是什么,rdp是一个远程的链接协议,在linux上面就是ssh协议, 我们在前期信息收集的时候,得到一些hash值和明文密码可以进行一些相关协议的链接的&am…

【AI导师】利用Coding Agent完成AIGC编程

利用Coding Agent完成AIGC编程 一、前言二、Coding Agent三、1024code四、AI导师README项目初版功能定义代码结构设计方案函数方法设计方案迭代记录 一、前言 AI产品的发展确实在过去两年年中取得了显著进展,尤其是在编程领域。一开始,ChatGPT和类似的语…

每日一练:LeeCode-347. 前 K 个高频元素(中) - 【优先级队列】

本文是力扣LeeCode-347. 前 K 个高频元素 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输…