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 ====如何联系客服人员?

你可能感兴趣的:(iOS9之后 ,字符串NSUTF8StringEncoding 编码与解码)