美文网首页iOS
UTF-8和NSString的相互转换

UTF-8和NSString的相互转换

作者: 寻常_0 | 来源:发表于2017-05-09 10:25 被阅读0次

    在做网络请求的时候拼接的参数有中文字符,这是我们需要转译一下,再做请求操作。

    NSString 转 UTF-8

    //现在有这样一个字符串
    NSString *str =  @"/GetVIPFreeProduct?key=大爱&Category=&isHot=0&PageIndex=1&PageSize=10"
    //其中url里带有中文我们是请求不成功的,需要我们转码一下
    
    str = [str stringByAddingPercentEscapesUsingEncoding:
    
    NSUTF8StringEncoding];
    
    之前我们是用这个方法,但是在ios9这个方法废弃了 
    
    iOS 9后用如下方法转
     NSString *str1 = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
    
    //编码后
    @"GetVIPFreeProduct?key=%E5%A4%A7%E7%88%B1&Category=&isHot=0&PageIndex=1&PageSize=10"
    

    UTF-8 转 NSString

    //我们要想将转译后的字符串在转回之前的格式那
    //以前我们用的方法是
    //str是我们刚才转译成utf8编码的字符串
    NSString *str1 = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    //iOS 9同样废弃了这个方法 现在使用
    NSString *str1 = [str stringByRemovingPercentEncoding];
    

    相关文章

      网友评论

        本文标题:UTF-8和NSString的相互转换

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