美文网首页
iOS处理URL中特殊字符的方法

iOS处理URL中特殊字符的方法

作者: WindFlyCloud | 来源:发表于2020-06-11 16:50 被阅读0次

    最近在做微信、QQ分享网页链接时遇到一个很坑的问题,iOS9后url的encode 方法对特殊字符 ?!@#$^&%*+,:;='"`<>()[]{}/\| 的处理好像没有以前完美了,在调起QQ分享url时经常报参数错误,仔细排查后发现是特殊字符影响了QQ的调起
    1、替换url中的特定字符

    字符    -    URL编码值
    
    空格    -    %20
    "          -    %22
    #         -    %23
    %        -    %25
    &         -    %26
    (          -    %28
    )          -    %29
    +         -    %2B
    ,          -    %2C
    /          -    %2F
    :          -    %3A
    ;          -    %3B
    <         -    %3C
    =         -    %3D
    >         -    %3E
    ?         -    %3F
    @       -    %40
    \          -    %5C
    |          -    %7C 
    
    reportName = [reportName stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"];
    

    第一种方法比较low,也比较繁琐,需要遍历替换,后来又找了另外一个处理方式
    2、

    reportName = [reportName stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"?!@#$^&%*+,:;='\"`<>()[]{}/\\| "].invertedSet];
    
    

    相关文章

      网友评论

          本文标题:iOS处理URL中特殊字符的方法

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