因此,我正在使用以下代码对我的服务器进行 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
orNO
?使用 UTF8 进行双重编码是否有可能以无法预料的方式转换我的某些字符?