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

相关推荐
SilentSamsara10 小时前
Python 环境搭建完整指南:从下载安装到运行第一个程序
开发语言·python
小短腿的代码世界11 小时前
Qt文件系统与IO深度解析:从QFile到异步文件操作
开发语言·qt
zhoutongsheng11 小时前
C#怎么实现Swagger文档 C#如何在ASP.NET Core中集成Swagger自动生成API文档【框架】
jvm·数据库·python
harder32112 小时前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
.54812 小时前
## Sorting(排序算法)
python·算法·排序算法
ydmy12 小时前
注意力机制(个人理解)
pytorch·python·深度学习
jinanwuhuaguo12 小时前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
Rust研习社12 小时前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
iwhitney13 小时前
【次方量化】3分钟搞懂什么是量化策略
python
高洁0113 小时前
大模型部署资源不足?轻量化部署解决方案
python·深度学习·机器学习·数据挖掘·transformer