如何在cocoa-touch中以正确的方式解码urlstring?

时间:2010-04-30 09:42:09

标签: iphone cocoa

来自服务器的我编码的字符串如下所示:“it-strategy%20RZ%20U%20texas”。 怎么可能将这个字符串解码回“it-strategy RZ U texas”?

我已尝试过stringByReplacingPercentEscapesUsingEncoding方法:但我仍有百分比。

2 个答案:

答案 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];

那是错的。

名为stringByDoingSomethingarrayByAddingOrRemovingThings:的方法将返回一个新对象并应用所请求的修改 - 上例中的原始对象myString,保持不变。

转义序列百分比已在stringByReplacingPercentEscapesUsingEncoding:返回的字符串中替换。这是你需要看的字符串:

NSString *unescapedString = [myString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];