0

我正在从我的服务器的 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];

有谁知道一种方法来确保反斜杠留在要转换的字符串中?

还是有另一种/更简单的方法来解决这个问题?

4

2 回答 2

0
NSString *encodedString = [@"your string" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
于 2013-03-23T10:19:40.800 回答
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]; 

希望这对其他人有帮助!

于 2013-03-24T09:45:40.907 回答