网页URL的合法字符分成两类

URL元字符:分号(;),逗号(’,’),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)

语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(()`)

除了以上字符,其他字符出现在URL之中都必须转义,规则是根据操作系统的默认编码,将每个字节转为百分号(%)加上两个大写的十六进制字母。在浏览器地址栏里,浏览器认为%是个转义字符,浏览器会把%与%之间的编码,两位两位取出后进行解码,然后再传递给后端,然后由后端进行再次解码。

一般平台字符集编码方式相同可以使用如下方法编码传输

encodeURI、decodeURI、encodeURIComponent、decodeURIComponent

encodeURI 方法的参数是一个字符串,代表整个URL。它会将元字符和语义字符之外的字符,都进行转义。

decodeURI用于还原转义后的URL。它是encodeURI方法的逆运算。

encodeURIComponent只转除了语义字符之外的字符,元字符也会被转义。因此,它的参数通常是URL的路径或参数值,而不是整个URL

decodeURIComponent用于还原转义后的URL片段。它是encodeURIComponent方法的逆运算。

如果平台编码方式不同可以使用  xxx=encodeURIComponent(base64Encode(encodeURIComponent('中文字符内容')))  方式进行传输,(此处base64xxx为自己实现的base64转码算法)

即在先将中文字符转义后,进行base64操作,然后再次转义进行传输,接收方使用decodeURIComponent(base64Decode(decodeURIComponent(xxx))) 方式解码,顺利解决不同平台导致的乱码现象。

URL中文传输乱码解决相关推荐

  1. URL中文传值乱码解决方式

    2019独角兽企业重金招聘Python工程师标准>>> 1.java方式: java.net.URLEncoder.encode('中文',"utf-8") 2. ...

  2. JSP中文及传中文参数乱码解决方法小结

    在使用JSP的过程中,最使人头疼的一个问题就是中文乱码问题,以下是我在软件开发中遇到的乱码问题以及解决方法. 1.JSP页面乱码 这种乱码的原因是应为没有在页面里指定使用的字符集编码,解决方法:只要在 ...

  3. Android读取中文文件乱码解决方法

    最近在做个MP3播放器,出现中文乱码问题,在网上找了很多解决办法,我整理了出现乱码的点和解决方案,拿出来和大家共享一下 1.读取中文文件乱码解决方法 package com.apj.conv; imp ...

  4. requests.get()爬去中文网页乱码解决方法

    requests.get()爬去中文网页乱码解决方法 当我们使用requests.get()爬取百度首页时会发现,返回的html代码中的中文发生乱码. import requestsheaders = ...

  5. SSH,telnet终端中文显示乱码解决办法

    SSH,telnet终端中文显示乱码解决办法 vi /etc/sysconfig/i18n 将内容改为 LANG="zh_CN.GB18030" LANGUAGE="zh ...

  6. Jenkins控制台中文输出乱码解决方法

    Jenkins控制台中文输出乱码解决方法 参考文章: (1)Jenkins控制台中文输出乱码解决方法 (2)https://www.cnblogs.com/dreamer-fish/p/1181204 ...

  7. .sql导入中文显示乱码解决方法

    .sql导入中文显示乱码解决方法 参考文章: (1).sql导入中文显示乱码解决方法 (2)https://www.cnblogs.com/fnote/p/8051682.html 备忘一下.

  8. 取出Cookie中的中文显示乱码解决方法。经验证第三种方法有效。

    取出Cookie中的中文显示乱码解决方法 HttpUtility.UrlEncode(Response.Cookies[ "newcookie "].Values);  HttpU ...

  9. NotePad 打开文件 出现中文汉字乱码 解决办法

    NotePad 打开文件 出现中文汉字乱码 解决办法 欢迎关注:程序员财富自由之路 现象: 出现中文汉字乱码: 解决办法: 先别着急用notepad修改编码 1. 用windows系统自带记事本打开, ...

最新文章

  1. ​孙家广院士:大数据软件的机遇与挑战
  2. 鸿蒙应用开发在线体验官网,华为鸿蒙 HarmonyOS 应用开发在线体验网站上线
  3. @Autowired静态变量
  4. lda主题模型应用java_主题模型LDA及在推荐系统中的应用
  5. 进程控制3--signal
  6. Python数据分析学习笔记04:Pandas基础
  7. Deep Learning of Binary Hash Codes for Fast Image Retrieval(代码跑通了)
  8. oracle12 group by 拼接字符串
  9. 好看的文章排版样式(转)
  10. tomcat绿色版及安装版修改内存大小的方法
  11. 辨别虚假流量的十二种方法
  12. 很不错的js幻灯片代码分享
  13. 【网络文摘】程序人生:我们工作到底为了什么
  14. labelImg 使用以及安装教程---图像标注工具
  15. Photoshop 换脸大法
  16. 网址在QQ微信被拦截怎么办 微信屏蔽网址解决办法
  17. 支持 Docker 运行的 ChatGPT 平替之 Alpaca-Turbo (羊驼)
  18. 如何预防钓鱼邮件?S/MIME邮件证书来支招
  19. im即时通讯开发如何理解定位技术
  20. 微信 SHA1 签名_微信公众号自动回复功能开发

热门文章

  1. 质量员培训建筑八大员培训工民建工程施工管理的质量控制
  2. 实在RPA:银行数字化,业务流程自动化“一小步”,贷款审核效率“一大步”
  3. ERP的实施节省了公司人力吗?
  4. 王欣要入局区块链了?佛系图片你看懂了多少
  5. PHP excel 导入mysql
  6. MySQL二级比office二级,ms office二级和一级区别
  7. 卡片式记忆工具:Studies Mac版
  8. 计算机文化学习笔记1
  9. 华宇物流 十年磨一剑
  10. tek示波器软件_泰克示波器自带上位机软件功能介绍