【发布时间】:2012-06-21 19:30:12
【问题描述】:
我查看了很多关于如何在 Objective C 中解码 Base64 编码字符串的 Stack Overflow 帖子,但我仍然遇到问题。
基本上,我正在尝试将 Python 脚本移植到 Objective C。Python 代码行是:
zlib.decompress(base64.urlsafe_b64decode(string))
当我通过 Python 版本的 base64.urlsafe_b64decode 运行“字符串”时,结果是正确的,然后可以正确地进行 Zlib 解压缩。当我通过 Objective C Base64 解码器的任何变体运行“字符串”时,它有点工作,但结果不一样,Zlib 解压缩失败。
URL 安全的 Base 64 解码和 SO 上广泛可用的代码之间有区别吗?如果有人以前遇到过这样的困难,我们将不胜感激。
谢谢!
编辑 1: 我使用了 here 找到的 Base 64 代码。原始数据(仍然是Base64编码)可以找到here,生成的Objective-C可以找到here,生成的Python可以找到here。理想情况下,我希望将 Objective C 代码解码为与 Python 脚本相同的文本。
【问题讨论】:
-
如果您发布您的代码、您在目标 c 中使用的库以及给定类似输入字符串时 python 和目标 c 例程的结果,这可能会有所帮助
-
string使用的是什么编码方式? ASCII? UTF-8?还有什么? -
@orzechowskid
string应该是 UTF-8 编码的。 @Harold 我会立即用你的答案编辑问题本身。 -
“原始数据(仍然是 Base64 编码的)可以在这里找到”这是 RFC4648 base64url 编码,ObjC 编码器无法处理。它只接受“香草”base64。
-
@GrahamLee 我实际上调整了编码以匹配,但我仍然需要修复解码。你知道 RFC4648 的任何 ObjC 解码器吗?
标签: python objective-c base64 zlib