Chr*_*ris 27 iphone objective-c
我正在处理objective-c中的urlencoded字符串.是否存在实际反转urlENCODING的基础功能?
收到的字符串如下:K%FChlschrank但应该在解码Kühlschrank之后
Bad*_*ate 61
我做了一个快速类别来帮助解决这个问题:)
@interface NSString (stringByDecodingURLFormat)
- (NSString *)stringByDecodingURLFormat;
@end
@implementation NSString
- (NSString *)stringByDecodingURLFormat
{
    NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "];
    result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    return result;
}
@end
一旦定义,这可以快速处理编码的字符串:
NSString *decodedString = [myString stringByDecodingURLFormat];
还有很多其他方法可以实现.
Jes*_*her 16
我相信这就是你要找的东西:
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
返回值:
通过在接收器中替换由给定编码确定的匹配字符的所有百分比转义而产生的新字符串.nil如果转换不可能,它将返回,例如,百分比转义使得字节序列在编码中不合法.
[source: Apple NSString Class Reference]
- (NSString *)URLDecode:(NSString *)stringToDecode
{
    NSString *result = [stringToDecode stringByReplacingOccurrencesOfString:@"+" withString:@" "];
    result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    return result;
}
而已
stringByReplacingPercentEscapesUsingEncoding: 
自iOS9起,Apple已弃用。请使用stringByRemovingPercentEncoding。
新方法通过使用匹配的UTF-8字符替换所有百分比编码的序列,来返回由接收器生成的新字符串。
例:
NSString *encodedLink = @"hello%20world";
NSString *decodedUrl = [encodedLink stringByRemovingPercentEncoding];
NSLog (@"%@", decodedUrl);
输出:
hello world
| 归档时间: | 
 | 
| 查看次数: | 25932 次 | 
| 最近记录: |