android pak文件_游戏中的Pak文件解析
Pak
文件的结构
pak
文件就是将多个文件打包为一个单独文件,在这个文件中保存着多个文件的数据,
当然还有一些描述文件结构的数据。所以将
“Pak”
作为文件的后缀是一种常规的用法,
可以自定义其它的文件后缀。
使用
Pak
方法将程序中要用到的资源(图片、音乐、文本)组合为单一文件是一个安
全有效的方法。
由于
MIDP
对
j2me
程序大小有限制,所以缩小发布程序就意味着能够提供更多的程序或者
内容(如图片、音乐)给用户。因为
zip/jar
算法对大文件的压缩率高于对等量的多个小文
件的压缩率,所以先把多个小文件按一定结构组合成一个
pak
文件,再压缩成
jar
包,有助
于减少程序容量。同时可以在
pak
文件中对文件数据进行加密,可以保护作者权益。
可以自行设计
Pak
文件结构,下面是一个参考例子:
同样的可以把
Java
me
平台上的
pak
文件使用方法修改扩展应用到其他平台上,如
Android
/
OPhone
,wm
等
PAK File Header
:
Pak
文件的头部
*
签名:
6
字节
char
数组
*
版本号:
32
位
float *
文件
table
数量:
32
位整数
*
密码
行为:
8
位字节
*
密码:
8
位字节
*
文件唯一
ID
:
10
字节
char
数组
*
保留位:
32
位整数
(4
字节
)
File Table
:
Pak
文件中包含文件的列表,在一个
Pak
文件中一个被包含的文件对应一
个
File Table
。
*
文件名:
30
字节
char
数组
*
文件大小:
32
位整型
*
文件在
pak
文件中的位移:
32
位整数
Concatenated File Data
:按
File Table
的顺序连接在一起的文件数据。
*
文件数据
四、程序框架:
android pak文件_游戏中的Pak文件解析相关推荐
- java 寻路算法_游戏中的寻路算法解析
游戏角色的自动寻路,已经是游戏中一个历史比较悠久的领域,较为成熟也有很多种实现.这里摘录一句后面所提的参考资料中的描述:"业内AI开发者中有一句话:"寻路已不是问题."我 ...
- 手机中geetest是什么文件_手机中的英文文件夹都表示什么意思?哪些是可以删除的?...
现在我们使用手机会积攒下大量的垃圾文件,所占的内存就会越来越多,长此以久手机就会开始卡顿.但当我们打开手机内存想要清理一下的时候又会发现文件夹全是英文名,一个也看不懂,生怕删错了重要文件搞坏手机.其实 ...
- android读取工程目录下的文件,Android编程实现读取工程中的txt文件功能
本文实例讲述了Android编程实现读取工程中的txt文件功能.分享给大家供大家参考,具体如下: 1. 众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹 ...
- matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名
matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...
- matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具 源码可见,解密P ID:22600679158222577美丽小飞侠大队
- word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法
excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...
- matlab从文件夹名中获得该文件夹下所图像文件名
function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...
- python生成wps文件_使用Python操作XLS文件(wps中叫et)
一旦TE需要* *信息的列表,我导出一个txt文件与python和扔给他们,但是他们很不开心,哈哈,因为他们想要将数以百计的数据放到xls文件列表输出,工作数量太大,所以我问我出口成xls文件然后给他 ...
- java游戏最终boss烛龙_游戏中劝退玩家的变态小怪!神装扛不住它一击,难度秒杀最终BOSS?...
原标题:游戏中劝退玩家的变态小怪!神装扛不住它一击,难度秒杀最终BOSS? 各大游戏中,许多变态BOSS经常让我们头痛不已. FF15中的精金龟就是其中的一位,562万点的超高血量和防御一度成为了不少 ...
最新文章
- hihoCoder-1829 2018亚洲区预选赛北京赛站网络赛 B.Tomb Raider 暴力 字符串
- 矢量旋度的散度恒为零
- Qt for Android / ios 将图片或文件打包进安装包中
- boost::geometry::closeable_view用法的测试程序
- 从源码深处体验Spring核心技术--面试中IOC那些鲜为人知的细节
- axis为amchart左右轴的参数
- MIP 移动网页加速器视频教程全新发布
- python ssh模块stdout.read 和recv_paramiko SSH 模块简单应用。
- 【leetcode 简单】 第六十六题 用栈实现队列
- 关于VS2015卸载后,重装无法修改路径问题
- 电力工程项目管理系统
- linux的通配符有哪些,Linux通配符
- 如何使用CNN进行物体识别和分类_CNN 原理与实践指南
- Tomcat8.5后版本不返回200 OK的问题解决
- 计算机绘图员技师证怎么考,地图制图员》与 《摄影测量员》中级高级工程测量职业标准-如何考-考什么内容...
- 1375 灯泡开关 III
- 直流无刷电机仿真分析——基于simulink官方例程BLDC Speed Control
- C++ 拓扑排序(AOV网络)
- 微信小程序动态添加Class
- HCIA:动态路由路由协议RIP及DHCP
热门文章
- ccna网络工程师考试_PrepAway提供的Cisco CCNA无线认证考试问题-建立成功的网络工程师的职业
- 福布斯30岁以下30强名单新出炉!区块链从业者占比13%
- Echarts的常用api
- 关于py2neo中的merge,create,当反复执行时,会出现什么。。。
- C# GroupBy 用法
- php 基于gbk和 Ascii把汉字转换为拼音
- 特斯拉model3中控屏怎么关_玩转特斯拉Model 3:那些隐藏的功能和技巧
- Git之深入解析reset命令原理以及与checkout命令的区别
- (四)基于区块链的自动抽奖系统从0到1实现
- 转:目前游戏行业内部主要几款游戏…