前端 javascript 开发过程中, 有时候会遇到字符串的编码和解码. 面对眼花缭乱的js原生方法, 到底如何选择总是很头大, 在此对常用方法做个小结.

escape & unescape

  • 对字符串进行编码
  • 不会对 ASCII 字母和数字进行编码
  • 不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . /
  • 其他所有的字符都会被转义序列替换
  • 所有主要浏览器都支持

**注意:**escape() 函数已经从 Web 标准中删除,所以尽量不使用该函数,可以使用 encodeURI 或 encodeURIComponent 代替。

encodeURI & decodeURI

  • 字符串作为 URI 进行编码
  • 不会进行转义URI 中具有特殊含义的 ASCII 标点符号: , / ? : @ & = + $ # (可以使用 encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码。).
  • 所有主要浏览器都支持

encodeURIComponent & decodeURIComponent

  • 字符串作为 URI 组件进行编码
  • 不会对 ASCII 字母和数字进行编码
  • 不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( )
  • 其他字符(比如 :;/?: @ &=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的
  • 所有主要浏览器都支持

btoa & atob

  • 用于创建一个 base-64 编码的字符串
  • 使用 “A-Z”, “a-z”, “0-9”, “+”, “/” 和 “=” 字符来编码字符串
  • 浏览器都支持: IE 10 & 火狐 1.0 & 谷歌等其他主要浏览器

前端 javascript 字符编码与解码相关推荐

  1. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

  2. python2发送http不编码_[转]Python 2.x中常见字符编码和解码方面的错误及其解决办法...

    Python 2.x中的字符编码,设计的的确不好,导致初学者,甚至是即使用Python很长时间的人,都会经常遇到字符编解码方面的错误. 下面就把一些常见情,尽量的都整理出来,并给出相应的解决办法. 看 ...

  3. 宽字符编码和解码通用类[CodeWidthChartUtility]

    在做jsonp传递的时候遇到一个问题,当有特殊字符或中文的时候就会导致数据错误或者是乱码,刚开始有js的编码和解码和正则,都比较麻烦,现在找到了一种合适的解决方案,宽字符编码,js端会自动解析,能处理 ...

  4. JavaScript字符集编码与解码

    一.字符集 1)字符与字节(Character) 字符是各种文字和符号的总称,包括乱码:一个字符对应1~n个字节,一字节对应8位,每位用0或1表示. 2)字符集(Character Set) 字符集是 ...

  5. 详解Unicode和JavaScript字符编码

    Unicode Unicode,又称万国码.统一码和国际码,是由统一码联盟制定的一套规范统一的字符编码集,其设计意图是将世界上所有字符都包含在其中,它使用特定的十六进制编号来表示字符,每一个特定十六进 ...

  6. 如何解决python中编码错误的问题_【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 对于Python解析器 而Python解析器所干的事情,就是: Python解析器,根据当前的所用的字符串编码类型 此字符串编码类型,是你自己所设置的 不 ...

  7. javascript中编码与解码的decodeURI()、decodeURIComponent()区别

    1. 定义和用法 decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码.decodeURIComponent() 函数可对 encodeURIComponent() ...

  8. Java 字符编码与解码

    1.字符编码的发展历程 ①.ASCII 码 因为计算机只认识数字,所以我们在计算机里面的一切数据都是以数字来表示,因为英文字符有限,所以规定使用的字节的最高位是 0,每一个字节都是以 0-127 之间 ...

  9. JavaScript - URI编码、解码,转换整型的使用说明

    <html><head><head><body><script language="javascript">// URI ...

最新文章

  1. conda的导入导出
  2. 有什么事是你当了程序员才知道的? | 每日趣闻
  3. 机器学习实战:支持向量机
  4. axure文件如何加密_怎么样给PDF加密?PDF文件如何加密?
  5. OpenGL ES之3D渲染旋转的贴图立方体
  6. [洛谷P1074] 靶形数独
  7. opengl计算帧率_或许是迄今为止第一篇讲解 fps 计算原理的文章吧
  8. MicroK8s及KubeFlow安装文档
  9. HDU2011 多项式求和【数列】
  10. php课后题,知到PHP语言程序设计课后习题答案
  11. _declspec(dllexport)与_declspec(dllimport)
  12. HashMap 的底层源码分析
  13. 图片自动生成css,CSS Sprites Generator
  14. 2016-408-计组-有如下c语言程序段
  15. videojs中文文档详解
  16. 给个华为服务器账号和密码忘了怎么办啊,华为路由器登陆用户名和密码忘了怎么办?...
  17. OpenGL学习002-配置GLAD
  18. RocketMQ 延迟消息(定时消息)4.9.3 版本优化 异步投递支持
  19. sql语句重点基础:查询语句
  20. 全球与中国医疗高温灭菌设备市场深度研究分析报告

热门文章

  1. 生物信息学 | 富集分析
  2. ATIPTA和CdnCtr
  3. API函数之SetParent
  4. 用python写一个彩票过滤器_Python实现的彩票机选器实例
  5. Tomcat内存溢出原因分析
  6. 解密最接近人脑的智能学习机器——深度学习及并行化实现
  7. 工具 | 使用 CLion 编译调试 MySQL 8.0
  8. Windows11不显示WiFi图标
  9. mysql groupby字符串拼接
  10. 如何设置 OctaneRender 渲染软件离线模式的加密狗?丨使用教程丨软件安装教程丨正版(非破解版)