【发布时间】:2012-01-10 14:30:44
【问题描述】:
我在从 base 64 编码字符串中解码图像数据时遇到了一些问题。 我正在使用从以下链接下载的 base64.h 和 base 64.m 文件
http://cdn.imthi.com/e6cef8/wp-content/uploads/2010/08/base64.zip
这是我的代码
[Base64 initialize];
NSData * data = [Base64 decode:imageString];
imgview.image=[UIImage imageWithData:data];
但是,图像视图中没有显示任何内容,
我通过使用在线 base 64 解码器解码 base 64 字符串(取自调试器控制台)进行测试,它提供了正确的图像, 我还通过将数据写入这样的文件进行了测试
[data writeToFile:imagePath atomically:YES];
它提供了一个 jpg 文件,但我无法打开该图像文件, 它给出了类似
的错误信息“test.jpg”文件无法打开。
“它可能已损坏或使用了 Preview 无法识别的文件格式。” 我的代码有什么问题 谁能帮帮我.....
谢谢
【问题讨论】:
-
Base64 编码有多种变体——您可能需要仔细检查您的数据或您下载的版本中是否存在奇怪的变体。确保您获得所有数据。无法下载所有长数据流是 iOS 上的常见错误——仅接收第一个缓冲区,错过最后一个缓冲区等。
-
你可以在网上找到 JPG 布局——在十六进制编辑器中打开收到的文件,看看它是否正确。 (还要根据原始文件长度检查接收文件的长度。)
-
能否提供base64编码正确工作的链接
-
查看维基百科文章以获取有关变体的信息。
标签: iphone objective-c xcode base64 decode