我从服务器到图像的链接已经是编码所以它附带%20 但有时我得到的代码包括希伯来字符,所以我需要做编码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(“& =%”);
但它没有帮助。
感谢
答案 0 :(得分:2)
NSString *urlString = @"----YOUR URL HERE----";
[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlString];
答案 1 :(得分: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];
}
谢谢