1

因此,我正在使用以下代码对我的服务器进行 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:有损转换是否设置为YESor NO

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

4

0 回答 0