gpt4 book ai didi

iphone - TMX map 文件到底是如何进行 base_64 编码的?

转载 作者:行者123 更新时间:2023-12-03 19:44:48 30 4
gpt4 key购买 nike

我正在为 iOS 编写一款使用 .tmx map 文件的游戏。我在应用程序“Tiled”中创建 map ,然后在它们到达 iOS 之前的某个时刻,我用 Perl 解析它们。

当我将文件另存为直接 XML 时,perl 解析它们就很容易了。然而,cocos2d 坚持要求文件采用 Base64 编码。 “平铺” map 编辑器使用此编码方案保存文件没有问题,iOS 可以很好地读取它们,但它给我的 Perl 代码带来了问题。

出于某种原因,perl 中的标准 MIME::Base64decode_base64() 方法在这里并没有起到作用——当我解码字符串时,我得到一两个二进制字符——菱形框中的问号等。

并且 TMX 文件格式的模糊文档使得我们不清楚在 Base64 编码之前或之后是否存在其他编码可能会导致此问题。我查看了编码器的 cpp 源代码,看到了很多对 Latin1 的引用,但我无法详细解释发生了什么。

我注意到,当我尝试使用 MIME::Base64 进行自己的测试、编码然后解码测试字符串时,编码后的文本看起来与我从 TMX 文件中看到的文本显着不同 - 例如,我的短字符串的 Base64 编码文本如下所示:

aGVyZSBpcyBhIHNlbnRlbmNl

但是来自 TMX 文件的 Base64 编码文本如下所示:

9QAAAAABAAANAQAAGAEAAA==

关于我还可以尝试解码看起来像这样的字符串的任何建议吗?

最佳答案

我认为this page可能就是您正在寻找的。它建议您首先decode_base64 ,然后(如果存在 compression="gzip" 属性)使用 gunzip解压它,最后使用unpack('V*', $data)提取 4 字节小端整数列表。

关于iphone - TMX map 文件到底是如何进行 base_64 编码的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638455/

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