汽车VBF格式文件详解---使用python解析VBF文件

https://pypi.org/project/vbf-parser/

pypi中有解析vbf的库,可以直接安装

pip install vbf-parser

按照example的方法读取vbf后,可以得到vbf中的header信息,并得到一个字典类型的变量。

from vbf_parser import extract_header_body, lex_vbf_header, parse_vbf_tokens

with open("file.vbf", "rb") as file:

header_body = extract_header_body(file)

vbf = parse_vbf_tokens(lex_vbf_header(header_body))

当前这个库只能提取header,data部分需要自己实现。

因为vbf文件格式是二进制文件,所以在open的时候,需要使用rb参数,extract_header_body在处理完file后,就把header截取掉了,所以我们接着使用file,file的起始就是data段。

将file.read()后,调用熟悉的库函数(例如binascii等)转换成bytes或者str类型,那么数据从起始就是data block的start address(4bytes),length(4bytes),data,crc16(2bytes),按照顺序遍历提取即可。提取完data后,我们可以自己再计算一次data的crc,与提取到的crc比较,以保证自己提取数据是完整的。

提取信息之后,可以再加到vbf字典中,以供后续使用。

相关推荐
@小码农4 小时前
202512 电子学会 Scratch图形化编程等级考试四级真题(附答案)
java·开发语言·算法
ejjdhdjdjdjdjjsl4 小时前
C#类型转换与异常处理全解析
开发语言·c#
toolhow4 小时前
SelfAttenion自注意力机制
pytorch·python·深度学习
智航GIS4 小时前
6.2 while循环
java·前端·python
qq_336313934 小时前
java基础-IO流(转换流)
java·开发语言·python
小宇的天下4 小时前
Calibre nmDRC 运行机制与规则文件(13-2)
运维·开发语言
扶苏-su4 小时前
Java---IO流原理和分类
java·开发语言
Stestack4 小时前
ssh批量机器免密操作
linux·python·ssh
a程序小傲4 小时前
得物Java面试被问:反射机制的原理和应用场景
java·python·面试
于越海4 小时前
学习小项目:用 Python 自动统计编程课绩点(5.0 制|百分制直算|重修取最高)
开发语言·笔记·python·学习·学习方法