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

相关推荐
Evand J6 小时前
【MATLAB例程】TOA和TDOA混合定位,适用于二维平面的高精度定位。锚点数量、位置、测量噪声可自行调节
开发语言·matlab·定位·tdoa
念越6 小时前
数据结构:栈堆
java·开发语言·数据结构
淮北4947 小时前
pip虚拟环境包的问题
开发语言·python·pip
dear_bi_MyOnly7 小时前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
常年游走在bug的边缘7 小时前
掌握JavaScript作用域:从函数作用域到块级作用域的演进与实践
开发语言·前端·javascript
jiaguangqingpanda7 小时前
Day36-20260204
java·开发语言
ctyshr7 小时前
C++编译期数学计算
开发语言·c++·算法
打码的猿7 小时前
Qt对话框不锁死主程序的方法
开发语言·qt
努力写代码的熊大7 小时前
c++异常和智能指针
java·开发语言·c++
m0_706653237 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python