来自服务器的我编码的字符串如下所示:“it-strategy%20RZ%20U%20texas”。 怎么可能将这个字符串解码回“it-strategy RZ U texas”?
我已尝试过stringByReplacingPercentEscapesUsingEncoding方法:但我仍有百分比。
答案 0 :(得分:3)
检查您是否使用了正确的编码类型:
NSString *s = @"it-strategy%20RZ%20U%20texas";
NSLog(@"Decoded string: %@", [s stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding]);
答案 1 :(得分:0)
我已尝试过stringByReplacingPercentEscapesUsingEncoding方法:但我仍有百分比。
您是在查看邮件返回的字符串,还是您发送该邮件的字符串?如果你这样做:
NSString *myString = @"it-strategy%20RZ%20U%20texas";
[myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
那是错的。
名为stringByDoingSomething
或arrayByAddingOrRemovingThings:
的方法将返回一个新对象并应用所请求的修改 - 上例中的原始对象myString
,保持不变。
转义序列百分比已在stringByReplacingPercentEscapesUsingEncoding:
返回的字符串中替换。这是你需要看的字符串:
NSString *unescapedString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];