您的位置:首页 > 移动开发 > IOS开发

iOS 字符串常用编码互相转换

2015-10-20 19:18 471 查看
在日常的网络请求中难免 URL 中会有汉字的内容,若不做相应的处理直接将字符串转换成 URL 来加载是有问题的,至于文字编码的基本知识请参考这里 Unicode与UTF-8互转(C语言实现),现整理下几种常用的转换方法的代码如下,另推荐一个在线转换的网页{这里传送门}

/// 汉字 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


/// 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"];

}


参考文章
object-c中UTF-8 和 GBK 的 NSString 相互转化的方法

http://www.cnblogs.com/langtianya/p/3889012.html

特殊字符转 URL 编码

http://blog.csdn.net/catandrat111/article/details/8533817
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: