0

サーバーから画像へのリンクが既にエンコーディングされているため、%20 が付属していますが、コードにヘブライ文字が含まれている場合があるため、上記のコードで Encoding agian を実行する必要があります。

しかし、エンコーディングの後、% 20 が % 2520 に変更されたという応答が返ってきました

static CFStringRef charsToEscape = CFSTR("&=");

    + (NSString *)escapeStringByAddingPercentEscapes: (NSString*) string {

        return [(NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                                                    (CFStringRef)string,
                                                                    NULL,
                                                                    charsToEscape,
                                                                    CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding)) autorelease];
    }

次のように % を charsToEscape に追加しようとしました:

static CFStringRef charsToEscape = CFSTR("&=%");

しかし、それは役に立ちませんでした。

ありがとう

4

2 に答える 2

2
NSString *urlString = @"----YOUR URL HERE----";
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
于 2013-04-08T08:19:49.627 に答える
1

リンクでヘブライ文字を取得できなかった場合、あなたの考えは良いです.

しかし、私は解決策を見つけました。パラメーター legalURLCharactersToBeEscaped で % を送信しました

今、私はこのような関数で使用します:

static CFStringRef charsToEscape = CFSTR("&=");
static CFStringRef charsUnchanged = CFSTR("%");

    + (NSString *)escapeStringByAddingPercentEscapes: (NSString*) string {

        return [(NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                                                    (CFStringRef)string,
                                                                    charsUnchanged,
                                                                    charsToEscape,
                                                                    CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding)) autorelease];
    } 

ありがとう

于 2013-04-09T07:48:01.180 に答える