encodeURI、encodeURIComponent
2024-08-27 04:41:05
encodeURI是对整个uri进行编码的,而encodeURIComponent是对uri中部分内容进行编码。
在进行url的字符串拼接时,需要进行两次encodeURI。
只进行一次encodeURI,服务器在进行request.getParameter()时会自动进行一次解码,而这个解码字符集可能使用的是操作系统默认字符集。
如果进行两次encodeURI,在服务器端,首先通过request.getParameter()自动进行第一次解码(可能是gb2312,gbk,utf-8,iso-8859-1等字符集,对结果无影响)得到ascii字符,然后再使用UTF-8进行第二次解码,通常使用java.net.URLDecoder("","UTF-8")方法。
两次编码两次解码的过程为:
UTF-8编码->UTF-8(iso-8859-1)编码->iso-8859-1解码->UTF-8解码,编码和解码的过程是对称的,所以不会出现乱码。
encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.
UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号
最新文章
- CUDA代码的高亮设置
- C#开发微信公众平台-就这么简单(附Demo)(转)
- mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案
- MVC validation
- PAT 1012
- 20151217jquery学习笔记--注册表单
- sharepoint 2010 如何使用sharepoint多媒体视频播放media webpart功能
- NOR flash和NAND flash区别,RAM 和ROM区别
- Ubuntu 10.04下安装Opengl glx
- mysql innodb init function error
- form 表单 enctype 属性-(转自w3c)
- Linux企业运维人员最常用150个命令汇总
- oracle 删除重复记录
- JOI 2018 Final 题解
- vscode 配置php
- mysql创建表和数据库
- tensorflow 笔记7:tf.concat 和 ops中的array_ops.concat
- Structs复习 Path问题
- keepalived主从及双主配置
- Unity 2D游戏开发教程之游戏中精灵的跳跃状态