Iphone 转义用于url内部的特殊字符(ø;,æ;)
我尝试在iOS应用程序中显示带有URL源的图像,但它没有显示 图像的url是实时示例路径 使用以下Objective-C代码转义此字符串时:Iphone 转义用于url内部的特殊字符(ø;,æ;),iphone,objective-c,xcode,Iphone,Objective C,Xcode,我尝试在iOS应用程序中显示带有URL源的图像,但它没有显示 图像的url是实时示例路径 使用以下Objective-C代码转义此字符串时: NSString *url= [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)originalpath, NULL, CFSTR("øæ"), kCFStringEncodingUTF8) autorelease]; 结果是(编
NSString *url= [(NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)originalpath, NULL, CFSTR("øæ"), kCFStringEncodingUTF8) autorelease];
结果是(编码为øæ):livexml路径
存储URL的所有my文件都使用文本编码(UTF-8)
如何以正确的方式转义URL,以便显示图像?我认为在将其用作URL之前,您需要转义URL字符串
NSString *URLString = [yourImagepath stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSURL *url = [NSURL URLWithString:URLString];
德国umlauts在iOS上也有同样的问题。
NSURL
类别为我解决了这个问题,不要被C代码的数量吓坏了,它隐藏得很好:)不要使用ascii编码试试看
NSString *URLString = [yourImagepath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:URLString];
我希望它能帮到你。Downvote:这正是文章作者已经做过的事情——在问题的文本中也可以看到……兄弟,我应该在我的项目中添加两个文件NSURL+IFUnicodeURL(.h和.m)。下载的文件中包含太多文件。请引导我完成:)只需删除项目中的所有内容,包括
IDNSDK
文件夹。这包含实际的Unicode转换库,类别在内部使用它们。谢谢Zohaib先生。很好的解决方案。它工作得很好。很抱歉堆栈溢出不允许多个一次升级,这个答案真的值得。