我有关于NSDictionary和base64字符串的这个奇怪的问题,我找不到问题所在。
这是代码:
NSData *pictureData = [[NSData alloc]init];
pictureData = UIImagePNGRepresentation([UIImage imageNamed:@"logo"]);
NSString * picture = [pictureData base64EncodedString];
picture = [picture stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];
if(picture == nil){
picture = @"";
}
self.postDictionary = [[NSDictionary alloc]initWithObjectsAndKeys:picture,@"picture",@"some text",@"caption", nil];
如果我记录字符串“picture”,那么日志非常精细且没问题。 但是当我尝试记录字典时,它会说出类似这样的内容
{
caption = "some text";
picture = "iVBORw0KGgoAAAANSUhEUgAAAoAAAABYCAIAAADqXdEfAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHGlET1QAAAACAAAAAAAAACwAAAAoAAAALAAAACwAAI2cl9ZnZQAAQABJREFUeAGM3euyXVl5HmDdWa7EuYec7sDBlZSrErtS+RP/clXiuCr+YzAYaKDpBmPABpr0S...and it gets CUT some part then... picture = iVBORw0KGgoAAAANSUhEUgAAAoAAAABYCAIAAADqXdEfAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAHGlET1QAAAACAAAAAAAAACwAAAAoAAA..till the end of the base64 string";
}
问题是“图片”这个词,因为在图片中的字符串对象中也找到了键。首先剪切base64字符串,然后是picture =然后是base64字符串的全文
在模拟器上不会发生,但会在设备上发生。之前很好。我没有改变任何代码。我也无法更改NSDictionary代码。
如果我不记录它,那么当Web服务收到POST时仍然如此。
所以如果你们能帮助我找到方法。谢谢:))