美文网首页
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