iOS URL 字符转义问题

作者: minjing_lin | 来源:发表于2018-01-25 19:00 被阅读117次
iOS URL 字符转义问题

前段时间,做马甲包相关的知识,把H5资源下载到本地,然后从本地解析js,渲染并加载css和图片等。再此过程中,遇到了URL字符串自动转义的问题,记录一下~

项目需要从本地加载的Url链接是

/var/mobile/Containers/Data/Application/22438350-8530-4B0B-BFDD-FBCE7A9F873B/Documents/components/dist/main.html#/main

但是调用

NSURL * URL = [NSURL fileURLWithPath:indexHtmlPath];

打印URL.absoluteString却变成了

file://var/mobile/Containers/Data/Application/22438350-8530-4B0B-BFDD-FBCE7A9F873B/Documents/components/dist/main.html%23/main

什么鬼,我的 #%23吃了,快还我#。我找来了“谷歌”和“百度”两位大神来赶走%23,结果呐,铩羽而归~

原来,webView的Url链接中的特殊字符串在未经我允许的情况下,摇身一变,我不认识了。QAQ~

URL编码和ASCII码值间的转换:

     +    URL 中+号表示空格                      %2B
     空格 URL中的空格可以用+号或者编码              %20
     /   分隔目录和子目录                         %2F
     ?    分隔实际的URL和参数                     %3F
     %    指定特殊字符                           %25
     #    表示书签                              %23
     &    URL 中指定的参数间的分隔符               %26
     =    URL 中指定参数的值                      %3D

那既然这样,就想着解码吧,但是试了好几种方法,都无法阻挡Url转义,也是醉了~
做为一名打不死的小强,岂能就此放弃,解码走不通,能不能换一种方法呐?!结果,还真被我想出来了~

对比两个Url链接,除了#%23替换之外,链接还加了前缀file:/,我们能不能直接在初始化之前,自己拼接Url加上前缀,接着用我们常见的Url初始化方法,来初始化呐,答案是肯定de

indexHtmlPath = [NSString stringWithFormat:@"file:/%@", indexHtmlPath];
NSURL * URL = [NSURL URLWithString: indexHtmlPath];

如果你有更好的解决方法,欢迎留言~

相关文章

  • iOS URL 字符转义问题

    前段时间,做马甲包相关的知识,把H5资源下载到本地,然后从本地解析js,渲染并加载css和图片等。再此过程中,遇到...

  • 网址URL中特殊字符转义编码

    网址URL中特殊字符转义编码字符 - URL编码值 URL特殊字符转义,URL中一些字符的特殊含义,基...

  • URL编码的学习笔记

    关于URL编码 URL基本知识URL的合法字符分成元字符与语义字符,其他字符出现在URL之中都必须转义。元字符分号...

  • spring RestTemplate 天坑

    url中%是特殊的字符,会被转义 %25 。被转义之后的URL不是正确的URL地址,程序会报出错误的400 Bad...

  • URL中特殊字符处理

    URL中含有一些特殊字符可能导致请求结果不正确。 URL字符转义 用其它字符替代吧,或用全角的。 + URL中+号...

  • iOS中URL的解码和转义问题

    ---转自 博客园 歉信君 iOS中URL的解码和转义问题 在iOS开发中,使用NSURLConnection去请...

  • iOS之URL中特殊字符转义

    转义字符的原因:### **如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在...

  • 正则

    元字符 转义 字符说明\转义字符 转义字符将普通字符转义为特殊字符,将特殊字符转义为普通字符: 字符说明\b匹配字...

  • iOS转义字符

    \a - Sound alert \b - 退格 \f - Form feed \n - 换行 \r - 回车 \...

  • java知识点杂聚

    1、前端请求后端时候,除了url中params里面+,&,>,<等会转义之外,如果是post请求中也会出现转义字符...

网友评论

本文标题:iOS URL 字符转义问题

本文链接:https://www.haomeiwen.com/subject/gjawoxtx.html