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

在日常的网络请求中难免 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值