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

相关推荐
努力学习的小廉3 分钟前
【C++】 —— 笔试刷题day_21
开发语言·c++·算法
kadog6 分钟前
《Python3网络爬虫开发实战(第二版)》配套案例 spa6
开发语言·javascript·爬虫·python
徒慕风流7 分钟前
利用Python爬虫实现百度图片搜索的PNG图片下载
开发语言·爬虫·python
蹦蹦跳跳真可爱58916 分钟前
Python----深度学习(基于深度学习Pytroch线性回归和曲线回归)
pytorch·python·深度学习·神经网络·回归·线性回归
钢铁男儿26 分钟前
C# 实战_RichTextBox选中某一行条目高亮,离开恢复
开发语言·c#
HtwHUAT34 分钟前
五、web自动化测试01
前端·css·chrome·python·功能测试·selenium·html
aiden:)39 分钟前
UML 状态图:以共享汽车系统状态图为例
汽车·软件工程·软件构建·uml
GXSC39 分钟前
国芯思辰|可编程线性霍尔传感器AH820替换HAL825用于汽车涡轮增压
汽车
依旧阳光的老码农40 分钟前
Windows下使用 VS Code + g++ 开发 Qt GUI 项目的完整指南
开发语言·windows·qt
等什么君!43 分钟前
SpringMVC处理请求映射路径和接收参数
java·开发语言·spring