在NSString上执行双NSUTF8StringEncoding会有任何问题吗?

时间:2016-02-16 03:20:57

标签: ios objective-c iphone nsstring nsstringencoding

所以我使用以下代码对我的服务器进行POST调用:

NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString *POSTencoded = [POSTdata stringByAddingPercentEncodingWithAllowedCharacters:set];
NSData *postData = [POSTencoded dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
[request setHTTPBody:postData];

根据Apple的文档,函数stringByAddingPercentEncodingWithAllowedCharacters:会自动对我的字符串使用UTF-8编码。我不确定这是否是一次有损转换。不过。

然后在下一行,我再次对数据进行编码,确保将allowLossyConversion:设置为YES

问题:

  1. stringByAddingPercentEncodingWithAllowedCharacters:是否将有损转换设置为YESNO

  2. 使用UTF8进行双重编码是否有可能以不可预见的方式转换我的某些字符?

0 个答案:

没有答案