0

コード:

#import "EncodeURLString.h"

@implementation EncodeURLString

- (NSString *)urlEncodeValue:(NSString *)str
{
    NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR("!*'\";$,#[] "), kCFStringEncodingUTF8);
    return [result autorelease];
}

- (NSString *)safeEcapeString:(NSString *)str
{
    NSString *result = [str stringByReplacingOccurrencesOfString:@":" withString:@"\\:"];
    result = [result stringByReplacingOccurrencesOfString:@";" withString:@"\\;"];
    result = [result stringByReplacingOccurrencesOfString:@"," withString:@"\\,"];
    return [result autorelease];
}

@end

このコードにより、URLの#タグが%23に変換されます。ハッシュタグの変換を停止する方法はありますか?ここからCFSTR( "!*'\"; $、#[] ")を削除しようとしましたが、機能しません。それでも変換されます。ヘルプやヒントをいただければ幸いです。

ありがとう

4

1 に答える 1

0

legalURLCharactersToBeEscapedパラメータからハッシュを削除し、CFSTR("#")for を使用しcharactersToLeaveUnescapedます。

于 2012-05-06T22:37:35.600 に答える