美文网首页
NSString与UTF-8编码的相互转换

NSString与UTF-8编码的相互转换

作者: FallPine | 来源:发表于2017-02-13 16:14 被阅读214次

有时我们需要将NSString转换为UTF-8,前几天发现苹果弃用了以前的旧接口,下面是查找了一些资料后,整理的代码

/**
     *  编码
     */
    NSString *url=@"http://www.jianshu.com/u/7be4a0163a7f?p1=%+&sd &p2=中文";
    // 旧方法
    NSString *encodedValue = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"%@", encodedValue);
    
    // 新方法
    NSCharacterSet *allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:url] invertedSet];
    NSString *encodedUrl = [url stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
    NSLog(@"%@", encodedUrl);
    
    /**
     *  解码
     */
    // 旧方法
    NSString *unencodedValue = [encodedValue stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"%@", unencodedValue);
    
    // 新方法
    NSString *unencodeUrl = [encodedUrl stringByRemovingPercentEncoding];
    NSLog(@"%@", unencodeUrl);

相关文章

网友评论

      本文标题:NSString与UTF-8编码的相互转换

      本文链接:https://www.haomeiwen.com/subject/doctwttx.html