美文网首页APP & program
iOS 特殊字符处理stringByAddingPercentE

iOS 特殊字符处理stringByAddingPercentE

作者: 小和大大 | 来源:发表于2022-07-21 14:08 被阅读0次

    当网址中含有中文字符的时候我们无法直接使用,需要把网址的字符串编码后再转为URL,由于url支持26个英文字母、数字和少数几个特殊字符,因此,对于url包含非保准url的字符的时候,就需要对其进行编码。
    iOS中提供stringByAddingPercentEscapesUsingEncoding对中文和一些特殊字符进行编码。
    但是stringByAddingPercentEscapesUsingEncoding 的功能并不完善,对一些较为特殊的字符无效,对这些字符可以使用 CFURLCreateStringByteAddingPercentEscapes
    解码使用

    -(NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
    不过编码这个方法从2.0支持到 9.0后不支持了,建议用
    stringByAddingPercentEncodingWithAllowedCharacters 替换

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

    相关文章

      网友评论

        本文标题:iOS 特殊字符处理stringByAddingPercentE

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