当前位置:  开发笔记 > 编程语言 > 正文

用于将十六进制转储转换为人类可读形式的任何通用实用程序或库?

如何解决《用于将十六进制转储转换为人类可读形式的任何通用实用程序或库?》经验,为你挑选了0个好方法。

我通过与各种设备的串行通信工作很多,因此我经常需要分析日志文件中的十六进制转储.目前,我通过查看转储,查看协议规范以及写下结果来手动执行此操作.但是,这很乏味且容易出错,尤其是whem消息包含数百个字节,并包含big-endian和little-endian数据,ASCII,Unicode,压缩,CRC等的混合....

我编写了一些Python脚本来帮助处理更常见的情况.但是有很多协议要处理,除非我知道我要分析很多转储,否则花时间编写自定义脚本是没有意义的.

我想要的是某种可以自动执行此活动的实用程序.所以,例如,如果我有这样的文本十六进制转储:

7e ff 00 7b  00 13 86 04
00 41 42 43  44 56 ef 7e

以及对消息格式的某种描述,如下所示:

# Field         Size        Byte Order  Output Format
Flag            1                       hex
Address         1                       hex
Control         1                       hex
DataType        1                       decimal
LineIndex       1                       decimal
PollAddress     2           msb         hex
DataSize        2           lsb         decimal
Data            (DataSize)              ascii
CRC             2           lsb         hex
Flag            1                       hex

我得到这样的输出:

Flag            0x7e
Address         0xff
Control         0x00
DataType        123
LineIndex       0
PollAddress     0x1386
DataSize        4
Data            "ABCD"
CRC             0xef56
Flag            0x7e

基于硬件的协议分析器通常具有执行此类操作的奇特功能,但我需要使用文本日志文件.

是否存在任何此类实用程序或库?


自我设置赏金以来,已经出现了一些好的答案.我猜赏金有效!

Wireshark和HexEdit看起来都很有希望; 我会看看那些,并且可以将赏金奖励给任何符合我需求的奖品.但我仍然对其他想法持开放态度.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有