我使用以下行对base64编码一些数据:
NSString *theData = [serialized base64EncodedStringWithOptions:kNilOptions];
这正常工作,然后我将此字符串传递给我的Web服务器,该服务器将其存储在数据库中。
后来,我正在从Web服务器检索这个base64编码的字符串,这也正常工作(我已经比较了上传之前的原始字符串和后面的下载字符串,它们是相同的。)
但是,当我尝试使用:
解码此字符串时NSString *theString = [imageDict objectForKey:@"image"];
NSData *imageData = [[NSData alloc] initWithBase64EncodedString:theString
options:kNilOptions];
它只是给了imageData
的空值。
如果我输出theString
,那么我上传的是正确的base64编码字符串。
任何想法为什么它不会解码?
提前致谢。
答案 0 :(得分:2)
我使用了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];