gpt4 book ai didi

python - 需要帮助从 pickle 中提取二进制数据

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:39 25 4
gpt4 key购买 nike

在 MMO 游戏中用户帐户统计信息存储在 .dat 文件中。我知道这是 python 泡菜。我对py不专业(真的我不懂这门语言)然后我就写

data = pickle.load(fp)
pprint.pprint(data)

我得到这样的输出

(8,
{(2, 1): (1315840806,
'\x14\x00&#nNWH\x00\x00\x06\x90\xb3\x00\... lostsa bytes),
(2, 17): (1327141794,
"\x14\x00\xa2\x93\x1aOS=\x00\x00\x06T\xaa\x00\x00\x8d\x06>\x00\x00\x00*\...

我想从中提取信息。格式应该是这样的

offs byte
0 11
1 00
2 ac ;last batt time(4)
3 8d ;last batt time(4)
4 54 ;last batt time(4)
5 4d ;last batt time(4)
6 e8 ;battle lifetime(4)
7 69 ;battle lifetime(4)
8 00 ;battle lifetime(4)
9 00 ;battle lifetime(4)
10 04 ;maxfrags (1)
11 db ;xp (4)
12 95 ;xp (4)
13 00 ;xp (4)
14 00 ;xp (4)
15 6f ;maxXP (2)
16 06 ;maxXP (2)

等等……

我不知道如何在python中获取字节码,以及什么是数据之王

(8,
{(2, 1): (1315840806,

对象?大批?如何迭代它。我如何将数据保存为二进制字符串来分析它?代码示例值得赞赏,但继续前进的一些方法应该对您有用。谢谢。

最佳答案

[] 表示列表,() 表示元组(不可变列表),{} 表示字典(即 map )。

考虑:

(8,
{(2, 1): (1315840806,
'\x14\x00&#nNWH\x00\x00\x06\x90\xb3\x00\... lostsa bytes),

在顶层,这是一个元组:

  • 第一个元素是标量 8
  • 第二个元素是一个字典,我们只看到其中第一个条目的一部分:
    • 条目的键是元组(2, 1)
    • 该条目的值也是一个元组;它以 1315840806 开头,后跟一个包含二进制数据的字符串。

希望你明白了。

关于python - 需要帮助从 pickle 中提取二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com