如何为iOS64字符串中的Base64图像URL数据禁用或绕过转义序列

时间:2013-03-23 10:10:37

标签: ios xcode uiimage base64

好吧,我和我一起裸露......

我从服务器的json请求中收到base64字符串... base64字符串如下所示:
“/ 9j / 4AAQSkZJRgABAQAAAQABAAD // gA7Q1J ......”(缩短版)

现在我的问题是,当我从NSString> NSURL,反斜杠从字符串中逃脱...
“/ 9J / 4AAQSkZJRgABAQAAAQABAAD // gA7Q1J”

即。 “/”变成“/” 现在我很确定这是我编码UIImage问题的问题(通过以下方法:NSString - > NSURL - > NSData - > UIImage)

创建UIImage的代码:
        imageAllArray = [pathwayResults valueForKey:@"images_data_base64"];
NSURL *image2URL = [NSURL URLWithString:[imageAllArray objectAtIndex:1]];
NSData *image2Data = [NSData dataWithContentsOfURL:image2URL];
imageTwo = [UIImage imageWithData:image2Data];

有没有人知道如何确保反斜杠保持在要转换的字符串中?

还是有其他/更容易的方法吗?

谢谢, 斯科特

2 个答案:

答案 0 :(得分:0)

NSString *encodedString = [@"your string" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

答案 1 :(得分:0)

我发现反斜杠根本没有造成多大伤害,因为我忘了在字符串前加上:“data:image / png; base64,”

见下文:

        NSString *prepender = @"data:image/png;base64,";
        NSString *image1String = [NSString stringWithFormat:@"%@%@", prepender, [pathwayImageArray objectAtIndex:0]];
        NSURL *image1URL = [NSURL URLWithString:image1String];
        NSData *image1Data = [NSData dataWithContentsOfURL:image1URL];
        imageOne = [UIImage imageWithData:image1Data]; 

希望这有助于其他人!