zoukankan      html  css  js  c++  java
  • iOS 含有 中文的URL 转码问题

    非ARC模式下:

    - (NSString *)encodeToPercentEscapeString: (NSString *) input
    {
        NSString *outputStr = (NSString *) 
        CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                (CFStringRef)input,
                                                NULL,
                                                (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                kCFStringEncodingUTF8);
        return outputStr;
    }
    
    - (NSString *)decodeFromPercentEscapeString: (NSString *) input
    {
        NSMutableString *outputStr = [NSMutableString stringWithString:input];
        [outputStr replaceOccurrencesOfString:@"+"
                                   withString:@" "
                                      options:NSLiteralSearch
                                        range:NSMakeRange(0, [outputStr length])];
    
        return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    }

    ARC模式下:

    - (NSString *)encodeToPercentEscapeString: (NSString *) input
    {
        NSString*  outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(
                                                                                            NULL, /* allocator */
                                                                                            (__bridge CFStringRef)input,
                                                                                            NULL, /*解决含有的转义字符*/
                                                                                            (CFStringRef)@"!*'();:@&=+$,/?%#[]",
                                                                                            kCFStringEncodingUTF8);
        return outputStr;
    }
    - (NSString *)decodeFromPercentEscapeString: (NSString *) input
    {
        NSMutableString *outputStr = [NSMutableString stringWithString:input];
        [outputStr replaceOccurrencesOfString:@"+"
                    withString:@""
                    options:NSLiteralSearch
                    range:NSMakeRange(0,
                    [outputStr length])];
    
        return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    }
    Stay hungry,stay foolish.
  • 相关阅读:
    python深度学习之灾难求生预测(titanic)
    python深度学习之语音识别(speech recognize)
    greenplum集群状态恢复与同步
    python手写图片识别MNIST
    python随机森林房价预测
    机器学习常用模型
    python爬虫优化和错误日志分析
    数据挖掘数学基础
    虚拟机spark集群搭建
    虚拟机zookeeper和hbase集群搭建
  • 原文地址:https://www.cnblogs.com/ficow/p/5035075.html
Copyright © 2011-2022 走看看