汽车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字典中,以供后续使用。

相关推荐
zzwq.21 小时前
线程池与进程池:concurrent.futures高效并发
python
小超超爱学习993721 小时前
大数乘法,超级简单模板
开发语言·c++·算法
java1234_小锋21 小时前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
knighthood200121 小时前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt
墨神谕21 小时前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
Ricardo-Yang1 天前
SCNP语义分割边缘logits策略
数据结构·人工智能·python·深度学习·算法
soragui1 天前
【Python】第 4 章:Python 数据结构实现
数据结构·windows·python
和小潘一起学AI1 天前
CentOS 7安装Anaconda
开发语言·python
kcuwu.1 天前
Python 正则表达式从入门到实战
数据库·python·正则表达式
不解不惑1 天前
langchain qwen3 构建一个简单的对话系统
pytorch·python·langchain