[Python]:热血传奇-Wzl,Wzx的解析

         首先我们要了解,wzl与wzx的对应关系,wzx里面存的是每张二进制图片数据在wzl中的偏移量,所以取到wzx中的偏移数据就可以取到wzl每张图片数据,其实就这么简单。

1[取wzx中偏移量数据]:以素材[hum.wzx]为例进行解析

-读取前44字节为wzx头文件,对解析无作用不做处理

-读取44至48字节代表为,[wzx中偏移值总数量] [int类型] [4字节]

-读取48字节以后,每4个字节[int类型]为一个图片的偏移量

    with open('hum.wzx', 'rb') as wzx_file:
        wzx_file.seek(44)  # 指针指向44字节位置
        wzx_data = wzx_file.read(4)  # 读取4字节数据
        image_number = struct.unpack('I', wzx_data)[0]  # 解析出图片的总数量数量
        image_data = []  # 定义空数组准备接收for循环里面获取到的偏移值
        for i in range(image_number):  # 根据总数量来决定取要在wzx中获取多少条数据
                wzx_file.seek(48 + (i * 4))  # 从48字节开始 每次指针偏移4字节
                wzx_data = wzx_file.read(4)  # 每次读取4字节
                num = struct.unpack('I', wzx_data)[0]  #
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值