zoukankan      html  css  js  c++  java
  • iOS中文路径转换URLEncode

    在使用[NSURL URLWithString:urlString]; 生成url对象时,客户端不能正确进行网络请求,

    方法1:

    NSString* encodedString = [urlStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    方法2:

    NSString * encodedString = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)urlString,NULL,NULL,kCFStringEncodingUTF8);

    这两种方法当urlString里含有中文时url编码是正确的,但是如果其中含有已转移的%等符号时,又会再次转义而导致错误。

    CFStringRefCFURLCreateStringByAddingPercentEscapes(CFAllocatorRefallocator, CFStringRef originalString, CFStringRefcharactersToLeaveUnescaped, CFStringReflegalURLCharactersToBeEscaped, CFStringEncoding encoding);

    因此做出修改,写出方法:

        NSString *encodedString = (NSString *)

        CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

                                                (CFStringRef)urlString,

                                                (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",

                                                NULL,

                                                kCFStringEncodingUTF8);

    转载来自:http://blog.csdn.net/typingios/article/details/9136005

  • 相关阅读:
    第一次个人编程作业
    软件工程博客作业1
    第一周作业
    预备作业
    没有权限访问路径
    Linux命令:pwd
    Linux命令:readonly
    Linux命令:read
    Bash:精华
    Linux命令:history
  • 原文地址:https://www.cnblogs.com/youmei11/p/4777923.html
Copyright © 2011-2022 走看看