1

カンマがエンコードされないのはなぜですか?%2Cになると思っていました。

(lldb) po [@"," stringByAddingPercentEscapesUsingEncoding:4]
(id) $24 = 0x0a8fbfd0 , 
4

2 に答える 2

2

@DaySで指摘されているように、コンマは有効なURL文字であるためです。ただし、エスケープする文字を制御したい場合は、を参照してCFURLCreateStringByAddingPercentEscapes()ください。

NSString *toencode = @",";
NSString *result =
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
                                                          (__bridge CFTypeRef)toencode,
                                                          NULL,
                                                          CFSTR(","),
                                                          kCFStringEncodingUTF8));
NSLog(@"%@", result);
于 2012-09-14T15:17:07.653 に答える
1

このメソッドは、URLで無効な特殊文字のみを置き換えます。カンマは有効なものなので、彼はこのままになります。

この文字列を使用して確認してください:

[@",éà /" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

カンマのような他の文字を置き換えるには、自分で行う必要があります...

于 2012-09-14T14:55:54.520 に答える