美文网首页
ios--字符串常用编码互相转换

ios--字符串常用编码互相转换

作者: jimmywife | 来源:发表于2018-06-19 15:17 被阅读0次
    日常的网络请求中难免 URL 中会有汉字的内容,若不做相应的处理直接将字符串转换成 URL 来加载是有问题的。现整理下几种常用的转换方法的代码如下:
    1.汉字 UTF8 互转
    NSString* strA = [@"%E4%B8%AD%E5%9B%BD" stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
    NSString *strB = [@"中国" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  
    NSLog(@"%@",strA); // 中国  
    NSLog(@"%@",strB); // %E4%B8%AD%E5%9B%BD  
    
    2.Unicode 转汉字
    NSString *content = @"\\u4e2d\\u56fd";  
    content = [self replaceUnicode:content];  
    NSLog(@"%@",content); // 中国  
    
    例:
    - (NSString *)replaceUnicode:(NSString *)unicodeStr {  
      
        NSString *tempStr1 = [unicodeStr     stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];  
        NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""];  
        NSString *tempStr3 = [[@"\""stringByAppendingString:tempStr2]stringByAppendingString:@"\""];  
        NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];  
        NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData  mutabilityOption:NSPropertyListImmutable  format:NULL errorDescription:NULL];  
      
        return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];        
    }  
    

    参考文章:

    文字编码的基本知识请参考:https://blog.csdn.net/tge7618291/article/details/7599902
    在线转换的网页:http://tool.oschina.net/encode?type=3

    object-c中UTF-8 和 GBK 的 NSString 相互转化的方法
    http://www.cnblogs.com/langtianya/p/3889012.html

    特殊字符转 URL 编码
    http://blog.csdn.net/catandrat111/article/details/8533817

    文章摘自互联网,我只是技术的搬运工......

    相关文章

      网友评论

          本文标题:ios--字符串常用编码互相转换

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