カンマがエンコードされないのはなぜですか?%2Cになると思っていました。
(lldb) po [@"," stringByAddingPercentEscapesUsingEncoding:4]
(id) $24 = 0x0a8fbfd0 ,
カンマがエンコードされないのはなぜですか?%2Cになると思っていました。
(lldb) po [@"," stringByAddingPercentEscapesUsingEncoding:4]
(id) $24 = 0x0a8fbfd0 ,
@DaySで指摘されているように、コンマは有効なURL文字であるためです。ただし、エスケープする文字を制御したい場合は、を参照してCFURLCreateStringByAddingPercentEscapes()
ください。
NSString *toencode = @",";
NSString *result =
CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
(__bridge CFTypeRef)toencode,
NULL,
CFSTR(","),
kCFStringEncodingUTF8));
NSLog(@"%@", result);
このメソッドは、URLで無効な特殊文字のみを置き換えます。カンマは有効なものなので、彼はこのままになります。
この文字列を使用して確認してください:
[@",éà /" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
カンマのような他の文字を置き換えるには、自分で行う必要があります...