在网络请求的时候,有时候后台会要求传输UTF字符串,网络请求的URL或参数中含有中文的时候要进行编码才能进行访问。
iOS9 之后字符串的编码与解码方法发生了改变。
NSString *originString = @"需要编码转换的原始字符串内容 ";
此方法已经弃用:
编码
NSString*ios9BeforeEncodeString = [originString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
解码
NSString*ios9BeforeDecodingString = [ios9BeforeEncodeString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
修改为:
编码
NSString*ios9AfterEncodeString = [originString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
解码
NSString*ios9AfterDecodingString = [ios9AfterEncodeString stringByRemovingPercentEncoding];
在修改后就可以正常的访问了。
网友评论