Kotlin SQLite URL转义字符(Escape)(一)

  • 前言
  • URL Encoding
  • 流程图
  • URL Encode
  • Escape
  • Unescape
  • URL Decode
  • 笔记

前言

在使用SQLite保存URL地址时,很容易出现一些需要转义的字符,如单引号(')、百分号(%)等等。在保存数据表记录前,先处理特殊字符再保存较为稳妥。一般来说,处理“特殊”的转义字符,是将目标字符串统一转化为某种标准格式的形式。比如,可以转换为URL encode编码或Base64编码,需要使用源字符串时进行解码。这种类型的编码是置换加密方式的,这并不会破环源数据的完整性且性能良好的同时,又能够结构化数据,使转化后的数据更有条理、易于处理保存。为了简化描述,这里主要提到的是URL encode编码的方法。

URL Encoding

URL编码会将除字母和数字外的部分特殊字符转换为百分号 + 16进制数字的格式(如,%2A)。URL编码对于转换中文字符也有效。

流程图

Created with Raphaël 2.3.0 Start URL Encode Escape Save URL Decode Unescape Display End

URL Encode

import java.net.URLEncoder
import kotlin.text.Charsetsfun encode(url: String?): String?{return URLEncoder.encode(url, Charsets.UTF_8.toString())
}

Escape

fun escape(encodedUrl: String?): String?{return encodedUrl?.replace("%", "/%")?.replace("*", "/*")?.replace("'", "/'")?.replace("_", "/_")
}

Unescape

fun unescape(escapedUrl: String?): String?{return escapedUrl?.replace("/%", "%")?.replace("/*", "*")?.replace("/'", "'")?.replace("/_", "_")
}

URL Decode

import java.net.URLDecoderfun decode(unescapedUrl: String?): String?{return URLDecoder.decode(unescapedUrl, Charsets.UTF_8.toString())
}

笔记

使用Base64编码需要替换的特殊字符比URL编码更少。两者都是置换加密的方式,并无本质上的区别,估计只有数量级较大时效率会有区别。

Kotlin SQLite URL转义字符(Escape)(一)相关推荐

  1. http url转义字符和特殊字符处理

    根据这个博文,有这些转义 http url转义字符,特殊字符 - yutingliuyl - 博客园 空格 - %20 " - %22 # - %23 % - %25 & - %26 ...

  2. HTML URL转义字符

    URL转义字符 HTML Encoding Reference URL-encoding : ASCII Character %20 : space %21 : ! %22 : " %23 ...

  3. js uri解码_js进行URL编码(escape,encodeURI,encodeURIComponent)

    如果URL存在汉字时,很容易出现乱码的现象.这是WEB开发中非常常见的一个问题. 不过由于笔者开发中比较注意各类文件的编码统一(即保持所有HTML,CSS,js的文件编码与页中的META中指定的编码一 ...

  4. C#编码格式转换,Url,escape,unicode编码和解码

    数据操作时,设计的各种类型的编码和解码方法 1 转换escape编码,解码Escape /// <summary>/// 转换escape编码/// </summary>/// ...

  5. C# url转义字符

    在web开发中通过(?)方式在浏览器地址栏传值时,浏览器是通过"&"来区分参数个数及取值的,比如: http://localhost/default.aspx?param1 ...

  6. javascript之url转义escape()、encodeURI()和decodeURI()

    我们可以知道:escape()除了 ASCII 字母.数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法.而encodeURI() 用于编码整个URI,因 ...

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

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

  8. http url转义字符,特殊字符

    空格 - %20 " - %22 # - %23 % - %25 & - %26 ( - %28 ) - %29 + - %2B , - %2C / - %2F : - %3A ; ...

  9. js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...

    转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...

最新文章

  1. 清华唐杰团队造了个“中文AI设计师”,效果比Dall·E好,可在线试玩
  2. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十七:TFT模块 - 显示
  3. 现在的教育:感慨之一
  4. net.sf.json将string转为map
  5. 中国第三代半导体行业应用动态与十四五发展格局展望报告2022版
  6. android 默认开关,android默认设置的开关
  7. jmeter展示内存cpu_基于Docker的jmeter弹性压测(2)监控
  8. 内存管理算法--Buddy伙伴算法
  9. MySQL临时表的操作使用
  10. JS 将JSON对象转换为字符串
  11. 拿不出双十一成绩单,垂直电商何以安身立命?
  12. 在datasnap 中使用unidac 访问数据(客户端)
  13. c++interesting转换为uint_能让手机电脑“小屏变大屏”的神奇转换器,到底是个什么玩意儿?...
  14. 需要重新格式化NameNode
  15. 成功演示六要素之三——具体
  16. 32位qt程序, 利用32位mysql驱动,连接64位mysql8.0
  17. 维护计算机需要做哪些,电脑的日常维护有哪些?
  18. C语言中的取绝对值函数
  19. 图章制作软件测试自学,SecSeal安全电子印章系统内部测试大纲.doc
  20. linux 使用samba共享文件夹

热门文章

  1. 005__Hadoop常用命令大全
  2. [转载] 晓说——第11期:揭秘我党历史上最危险的叛徒
  3. win11 Azure DK环境
  4. 华中科技大学计算机上机,华中科技大学_2010___考研计算机_复试上机
  5. 复现Oriented R-CNN RTX 2080Ti
  6. 如何更改计算机属性里面的配置文件,电脑中如何设置共享文件夹的属性防止被删除...
  7. shopify_反思构建自定义Shopify应用程序
  8. 微服务网关Gateway(七)
  9. 关于插件open-browaer-webpack-plugin
  10. 使用busybox快速制作initramfs