zoukankan      html  css  js  c++  java
  • iOS中url中文编码问题

    由于url支持26个英文字母、数字和少数几个特殊字符,因此,对于url中包含非标准url的字符时,就需要对其进行编码。iOS中提供了函数stringByAddingPercentEscapesUsingEncoding对中文和一些特殊字符进行编码,但是stringByAddingPercentEscapesUsingEncoding的功能并不完善,对一些较为特殊的字符无效。而对这些字符则可以使用CFURLCreateStringByteAddingPercentEscapes函数,下面我们对其进行封装,提供一个完善的url编码函数。

    NSString* encodeURL(NSString* unescapedString )
    {
      NSString* escapedUrlString= (NSString*) CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef)unescapedString, NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 );

      escapedUrlString = [escapedUrlString stringByAddingPercentEscapesUsingEncoding:kCFStringEncodingUTF8];
      return [escapedUrlString autorelease];
    }

    需要特别注意的是encodeURL只能用来对url中的component编码,不能用来对整个url进行编码。

  • 相关阅读:
    bugku 字符正则
    Bugku,never never never give up
    Bugku各种绕过哟
    BUGKU的flag.php
    7.15 Java自学
    7.14 Java自学
    7.13 Java自学
    7.12 Java自学
    7.11 Java自学
    7.10 Java自学
  • 原文地址:https://www.cnblogs.com/CoderPlace/p/2475374.html
Copyright © 2011-2022 走看看