所以我使用以下代码对我的服务器进行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
。
问题:
stringByAddingPercentEncodingWithAllowedCharacters:
是否将有损转换设置为YES
或NO
?
使用UTF8进行双重编码是否有可能以不可预见的方式转换我的某些字符?