iOS9之后 ,字符串NSUTF8StringEncoding 编码与解码

网络请求拼接中文参数,用户名登陆等很多地方会用到中文,UTF8编码显得颇为重要,但是iOS9之后,我们常用的的方法已经废弃,当然了,有废弃肯定就有新的来代替,在此记录一下.

1.编码

NSString*hStr =@"你好啊";

NSString*hString = [hStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"hString === %@",hString);

上面这样写是会有警告的,


警告

输出结果:

hString === %E4%BD%A0%E5%A5%BD%E5%95%8A

这样写就可以了:

NSString*hString = [hStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

结果是一样的

hString === %E4%BD%A0%E5%A5%BD%E5%95%8A

2.解码

NSString*str3 =@"\u5982\u4f55\u8054\u7cfb\u5ba2\u670d\u4eba\u5458\uff1f";

NSString*str5 = [str3 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSLog(@"str5 ==== %@",str5);

同样会有警告;


警告

输出结果:

str5 ====如何联系客服人员?

下面消除警告,修改为:

NSString*str5 = [str3 stringByRemovingPercentEncoding];

结果也是一样的:

str5 ====如何联系客服人员?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 3,633评论 0 1
  • 猜想runloop内部是如何实现的?一般来讲,一个线程一次只能执行一个任务,执行完成后线程就会退出。如果我们需要一...
    笔笔请求阅读 3,199评论 0 0
  • 【Aipm引导页】 https://58976235.wodemo.net/down/20170514/44034...
    Mr_洛寒阅读 7,802评论 3 5
  • 一 大灰狼喜欢小白兔,可是不敢给它说,他怕吓到小白兔。 他听说小白兔爱吃胡萝卜。 于是大灰狼去挖了好多好多的胡萝卜...
    叫我七夜夜阅读 4,296评论 0 1
  • 我看过一本科幻小说,里面有个小故事很有趣,说在土著人已经灭绝的火星上,地球移民遇见了一个坐着大虫子的火星人。...
    31dc6bee0132阅读 3,638评论 0 1

友情链接更多精彩内容