我使用以下行对一些数据进行 base64 编码:
NSString *theData = [serialized base64EncodedStringWithOptions:kNilOptions];
这工作正常,然后我将这个字符串传递到我的网络服务器,该服务器将它存储在数据库中。
稍后,我从 Web 服务器检索这个 base64 编码的字符串,它也能正常工作(我比较了上传前的原始字符串和下载后的字符串,它们是相同的)。
但是,当我尝试使用以下方法解码此字符串时:
NSString *theString = [imageDict objectForKey:@"image"];
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:theString
options:kNilOptions];
它只是为 imageData
提供了一个空值。
如果我输出 theString
,它就是我上传的正确的 base64 编码字符串。
知道为什么它无法解码吗?
提前致谢。
最佳答案
我使用了 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];
关于ios - Base64 编码的字符串不会解码 (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22694564/