【问题标题】:Python decoding, base64, nbt, gzip? what is it?Python解码、base64、nbt、gzip?它是什么?
【发布时间】:2020-05-27 10:07:05
【问题描述】:

我正在尝试从 Minecraft AP 获取信息。您可以从 API 读取玩家库存,但它是这样说的:here is link to pastebin

我试图在 python 上运行 base64,但它给了我这样的输出(只有几行):

b'\xad\xa9\xc0d\x85\xe4\xe0\x87`\xcess\x00\x9b]e~c\xea\xaa\xb8\x9a\xa4\xdd\x958"\x8f\x0f\x10\xb9\xea\x9f2v\xdd\xcc#N\xe8x\xb4\xdd\x18\xa9\xee>\xcfM

我在他们的论坛上读到了一些关于它的内容,一些 cmets 说了一些关于“base64、gzip、nbt”的东西。

知道,我并没有真正从事过解码等工作,我正在努力理解这一切的含义。

谢谢

【问题讨论】:

    标签: python base64 decode


    【解决方案1】:

    NBT 是我的世界特定格式:Named Binary Tag

    因此,您会得到一个 NBT 文件,该文件在 gzip format 中压缩(压缩),然后以 Base64 编码。

    base64 decoding 之后,您需要unzip the gzip format 才能获得NBT。

    python 中还有一个nbt parser

    【讨论】:

    • 哦,好吧,我想我明白了。谢谢!
    • 所以,我从 API 中获取价值。我可以将整个字符串放入一个 txt 文件中,还是它需要是一个 .dat 文件,然后我使用该 .dat 文件使用 nbt 解析器?
    • 这通常是关于内存使用的问题。如果它足够小,您可以在内存中执行所有步骤。我其实对Minecraft和nbt一无所知,所以请检查lib并查看使用示例。
    • 是的,我很困惑我必须执行哪些步骤,因为我从实时更改的 API 中获取这些信息。如果我有来自 Minecraft 的 .dat 文件,例如“player.dat”,我想我会明白的。但是现在我真的没有那个,这让我很困惑哈哈
    猜你喜欢
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多