zoukankan      html  css  js  c++  java
  • 处理URL中的中文等字符,计算含有中英文的字符串的长度

    使用ASIHttpRequest进行网络请求的时候,如果包含的参数中含有中文,可调用如下方法对汉字进行处理

    - (NSString*)URLEncode:(NSString *)originalString{
        NSArray *escapeChars = [NSArray arrayWithObjects:@";" , @"/" , @"?" , @":" ,
                                @"@" , @"&" , @"=" , @"+" ,    @"$" , @"," ,
                                @"!", @"'", @"(", @")", @"*", nil];
        
        NSArray *replaceChars = [NSArray arrayWithObjects:@"%3B" , @"%2F", @"%3F" , @"%3A" ,
                                 @"%40" , @"%26" , @"%3D" , @"%2B" , @"%24" , @"%2C" ,
                                 @"%21", @"%27", @"%28", @"%29", @"%2A", nil];
        
        int len = [escapeChars count];
        
        NSMutableString *temp = [[originalString
                                  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
                                 mutableCopy];
        
        int i;
        for (i = 0; i < len; i++) {
            
            [temp replaceOccurrencesOfString:[escapeChars objectAtIndex:i]
                                  withString:[replaceChars objectAtIndex:i]
                                     options:NSLiteralSearch
                                       range:NSMakeRange(0, [temp length])];
        }
        
        NSString *outStr = [NSString stringWithString: temp];
        
        return outStr;
    }

    计算含有中英文的字符串的长度(如输入:你好,字符串长度应为4):

    - (int)getToInt:(NSString*)strtemp
    {
        NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        NSData* da = [strtemp dataUsingEncoding:enc];
        NSLog(@"------%d",[da length]);
        return [da length];
    }
  • 相关阅读:
    团队展示
    原型设计(结对第一次)
    第二次作业——个人项目实战
    第一次作业--准备篇
    课程作业四
    课程作业三
    课程作业二
    课程作业一
    图像处理------ 一阶微分应用 (转载)
    dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)
  • 原文地址:https://www.cnblogs.com/benbenzhu/p/2961399.html
Copyright © 2011-2022 走看看