したがって、次のコードを使用してサーバーに POST 呼び出しを行っています。
NSCharacterSet *set = [NSCharacterSet URLQueryAllowedCharacterSet];
NSString *POSTencoded = [POSTdata stringByAddingPercentEncodingWithAllowedCharacters:set];
NSData *postData = [POSTencoded dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
[request setHTTPBody:postData];
stringByAddingPercentEncodingWithAllowedCharacters:
Apple のドキュメントによると、関数は文字列に対して UTF-8 エンコーディングを自動的に使用します。ただし、それが損失のある変換であるかどうかはわかりません。
次に、次の行でデータを再度エンコードし、 に設定allowLossyConversion:
したことを確認しYES
ます。
質問:
stringByAddingPercentEncodingWithAllowedCharacters:
不可逆変換が または に設定されていますYES
か?NO
UTF8 での二重エンコードは、予期しない方法で文字の一部を変換する可能性がありますか?