汽车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 小时前
东华OJ-基础题-106-大整数相加(C++)
开发语言·c++·算法
YJlio4 小时前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone
l1t4 小时前
在wsl的python 3.14.3容器中使用databend包
开发语言·数据库·python·databend
赶路人儿5 小时前
Jsoniter(java版本)使用介绍
java·开发语言
ceclar1235 小时前
C++使用format
开发语言·c++·算法
山塘小鱼儿5 小时前
本地Ollama+Agent+LangGraph+LangSmith运行
python·langchain·ollama·langgraph·langsimth
码说AI5 小时前
python快速绘制走势图对比曲线
开发语言·python
Gofarlic_OMS6 小时前
科学计算领域MATLAB许可证管理工具对比推荐
运维·开发语言·算法·matlab·自动化
星空下的月光影子6 小时前
易语言开发从入门到精通:补充篇·网络爬虫与自动化采集分析系统深度实战·HTTP/HTTPS请求·HTML/JSON解析·反爬策略·电商价格监控·新闻资讯采集
开发语言