【问题标题】:Base64 encoded string wont decode (iOS)Base64 编码的字符串不会解码(iOS)
【发布时间】:2014-03-27 17:11:10
【问题描述】:

我正在使用以下行对一些数据进行 base64 编码:

NSString *theData = [serialized base64EncodedStringWithOptions:kNilOptions];

这可以正常工作,然后我将此字符串传递给我的 Web 服务器,该服务器将其存储在数据库中。


稍后,我从网络服务器检索这个 base64 编码的字符串,它也可以正常工作(我比较了上传前的原始字符串和下载后的字符串,它们是相同的)。

但是,当我尝试使用以下方法解码此字符串时:

NSString *theString = [imageDict objectForKey:@"image"];
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:theString
                                                        options:kNilOptions];

它只是给了我一个 imageData 的空值。

如果我输出theString,它就是我上传的正确的base64 编码字符串。


任何想法为什么它不会解码?

提前致谢。

【问题讨论】:

  • 检查空格

标签: ios objective-c encoding base64 decoding


【解决方案1】:

我使用了 NSDataAdditions.h http://code.ohloh.net/file?fid=28qaXmo6xH1Z4clfmn9_wJqDqNI&cid=xVjpNPxNo_A&s=&fp=308694&mp=&projSelected=true#L0 和 .m http://code.ohloh.net/file?fid=tXQCCVHemN1iAx6ZQSy1VkBACXA&cid=xVjpNPxNo_A&s=&fp=308694&mp&projSelected=true#L0 >

NSData *imageData = [NSData dataWithBase64EncodedString:theString];

【讨论】:

  • 我似乎无法导入 NSDataAdditions.h 文件,说找不到。
  • 见上面的编辑帖子。只需在您的项目中添加 2 个文件。
猜你喜欢
  • 2018-12-14
  • 1970-01-01
  • 2012-11-13
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 2021-10-27
相关资源
最近更新 更多