图片发自简书App

前段时间,做马甲包相关的知识,把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 html特殊字符转义字符,iOS URL 字符转义问题相关推荐

  1. html的 转义,html字符转义

    javascript 字符转义汇总 在开发中经常遇到需要字符转义的,我将一一把遇到的转义列举出来 1.今天中午做项目的时候遇到一个字符串链接的问题,需要链接的的是一个函数的参数 时间字符串:" ...

  2. html url 转义字符,html url 转义字符

    在日常工作写模板的时候最长遇到的问题就是xss和字符转义 HTML 字符转义 html是一种类xml,xml有自己的格式 xxxxxxxx 在模板中做字符转义的目标就是不打乱xml这种格式,具体的做法 ...

  3. 解决alert在ios版微信中显示url的问题(重写alert)

    为了解决alert在ios版微信中显示url的问题 window.alert = function(name){var iframe = document.createElement("IF ...

  4. ios html 全选文本框,【前端】IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符...

    IOS input输入框按删除键删除字符,删除最后一个字符时,概率性出现光标前面多余一个字符,并且placeholder文字也能显示出来 回答 删除最后一个字符时延迟一毫秒 我用了vue,input[ ...

  5. IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题)

    IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题) 参考文章: (1)IOS 正则表达式匹配文本中URL位置并获取URL所在位置(解决连接中文问题) (2)https:// ...

  6. PostMan发送请求参数带有路径特殊字符会返回400错误(与URL字符及URL编码值有关)

    目录 一.请求参数中携带URL字符返回400错误 二. 请求参数中携带URL字符返回400错误原因 三.URL字符及对应的URL编码值列表 四.请求参数中携带URL字符转成URL编码值 一.请求参数中 ...

  7. iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iOS 字符串匹配、截取字符串、匹配字符串、分隔字符串

    iOS之字符串截取.iOS 字符串替换.iOS字符串分隔.iOS之字符串匹配.截取字符串.匹配字符串.分隔字符串 1.iOS 字符串截取 //1.ios截取字符串NSString *string =@ ...

  8. 【C#进阶二】C#中的正则表达式知识总结(字符转义/字符类/ 定位点/ 分组构造 /数量词/反向引用构造/替换构造/替代/正则表达式选项)(理论篇)

    文章目录 0. 正则表达式网站推荐 1.字符转义 2.字符类 3. 定位点 4. 分组构造 5.数量词 6.反向引用构造 7.替换构造 8.替代 9.正则表达式选项 正则表达式是对字符串操作的一种逻辑 ...

  9. HTML转义字符表,JavaScript常用转义符

    [b]HTML转义字符表,JavaScript常用转义符[/b]HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义) 收藏着,自己以后可能有用得着 ...

最新文章

  1. 华为鸿蒙系统初探之HUAWEI DevEco Studio Hello World
  2. characteriscation in English debate
  3. Python中运算符 is 和 == 的区别
  4. just函数 python_在python里写Monad
  5. tracert路由检测命令使用方法
  6. 电话光端机的电话接口类型有哪些?
  7. Linux内核的启动过程分析
  8. javascript for in,for each,for循环遍历区别
  9. 如何用jar命令对java工程进行打包
  10. 超级玛丽游戏 C++简单实现
  11. 工程安全cso千人千面计算机,千人一面变为千人千面 自适应教育助力因材施教...
  12. 为何你写的文案打不动不了人心?
  13. Google 要用 Flutter 一统移动、桌面开发江湖?
  14. 设置UITableView的separatorInset值为UIEdgeInsetsZero,分隔线不最左端显示的问题
  15. android如何获取电视的存储空间,Android TV (二)(处理电视硬件)
  16. error parsing xml:unbound prefix
  17. 男子因惧内欲退还iPad 2苹果免费赠送
  18. 基于RGB-D图像的语义场景补全研究进展综述
  19. KnockoutJs dynamic Binding
  20. Java静态代理和动态代理(代理模式)详解

热门文章

  1. 老闪创业那些事儿(43)——勤勤恳恳的老黄牛
  2. 最大公约数的几种求解及代码实现
  3. 高并发下的服务器架构演变
  4. 【博学谷学习记录】超强总结,用心分享|移动app基础知识
  5. 阿里云是干什么用的?针对新手用户的详细解答...
  6. 睡觉也在爬虫之一(爬一张图片)
  7. 邮件的发送和接收过程-----简单邮件传输协议(SMTP)和邮件读取协议!!!
  8. 目前大数据在金融行业的应用主要体现在哪些方面?
  9. php var的解释
  10. linux基于此语言的密码,Impost3r:一款针对Linux的密码提取工具