1

したがって、次のコードを使用してサーバーに 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ます。

質問:

  1. stringByAddingPercentEncodingWithAllowedCharacters:不可逆変換が または に設定されていますYESか?NO

  2. UTF8 での二重エンコードは、予期しない方法で文字の一部を変換する可能性がありますか?

4

0 に答える 0