一、中文编码有三种形式

1、utf-8编码        2、gbk编码        3、gb2312编码

这三种编码方式对汉字编码的组数不一样,其中2和3,一个汉字对应的都是两组%XX,而1对应的是三组%XX,如图,输入一个汉字: 中 得出如下编码结果

python 3中用于url中文编码的模块是urllib库,可以用urllib库里的parse解析url,从中导出

quote方法用。quote('待编码的字符',encoding="utf-8/gbk/gb2312")

导入格式为: from urllib.parse import quote(编码)/unquote(解码)

二、URL为何要进行编码和解码呢?

1、需要编码的数据原因无非以下几种

<1>  数据尺寸过大,传输不了,得编码后才能传输

<2> 数据过于隐私,需要编码以防止隐私暴露

<3>  数据里有存在可能会引起歧义的字符,需要编码后方能保证数据传输后,前后数据                       保持一致,不会引起歧义的情况。

2、url的编码格式采用的是ASCII码,而不是Unicode,因此不能在url里面包含任何不是ASCII的字符,例如中文。否则客户端和服务端浏览器支持的字符集一旦不同的情况下,中文可能会造成问题。

3、Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8。如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码。

URL网址中的编码与解码问题相关推荐

  1. Android 中的编码与解码

    前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败.但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * .#  . 特殊符号在提交表单的时候,出现了编码不一样的 ...

  2. Java中的编码与解码

    1. 基本概念: (1)字符集(Charset):是一个系统支持的所有字符的集合,包括各国家文字.标点符号.图形符号.数字等. (2)字符编码(Character Encoding):就是一套自然语言 ...

  3. Vue中base64编码和解码

    推荐一个不错的学习资料库 Vue中base64编码和解码 1.在项目更目录下执行命令,安装 npm install --save js-base64 2.在使用的项目引入 let Base64 = r ...

  4. 【Python笔记】Python 中的编码与解码

    本文记录 Python2.x 和 Python3.x 中关于编码和解码的问题. 文章目录 1. 一些基本的概念 2. 编码格式 3. 编码和解码 4. Python3 的默认编码 1. 一些基本的概念 ...

  5. url传参参数编码的解码问题

    JS中encodeURIComponent(URL)编码与decodeURIComponent(URL)解码详解 (1)encodeURIComponent(url)函数 定义和用法 encodeUR ...

  6. php解析url编码,php对URL传参进行编码和解码解析

    1. 对URL 传递的参数进行编码 使用URL 传递参数数据,就是在 URL地址后面加上适当的参数.URL 实体对这些参数进行处理.其使用的方式如下面的格式: 显而易见,这种方法将会把参数暴露出来,安 ...

  7. golang中base64编码_golang中base64编码和解码

    golang中base64的编码和解码可以用内置库encoding/base64 package main import ( "encoding/base64" "fmt ...

  8. python3中的编码与解码

    首先,为什么要编码? 我们知道,计算机只能存储二进制串001100011.... 如果要计算机存储一个数字7,计算机可以用00000111来表示 如果要存储'a'这个字符呢?肯定也用一个二进制串来表示 ...

  9. python编码解码的过程_使用Python过程中的编码和解码

    编码和解码的问题纠结了我很久了,对他一直只有是是而非的理解,好像是那么回事,但是又不懂,今天终于来认真解决一下这个问题,总结一下大神们的回答,做一下笔记. 首先,我们知道,计算机中的所有数据都以二进制 ...

最新文章

  1. 关于bhuman文件结构
  2. 笔记本网络计算机和设备不可见,xp电脑不显示无线网络的七种原因和解决方法...
  3. 设计用例测试下面的python程序def do_你能变形python的unittest测试用例吗?
  4. 找出一个字符串中出现次数最多的字_487,重构字符串
  5. 计算机x线影像ppt,计算机X线摄影ppt课件
  6. hive 常用UDF
  7. Python练习:五到七章的练习题
  8. python数字组合算法_python - 简单算法题 - 求三位数组合
  9. 201671030116 宋菲菲 实验十四 团队项目评审课程学习总结
  10. 3306端口被占用解决方式
  11. UE4 替换文件尝试解决 光照构建失败 Lighting build failed. Swarm failed to kick off
  12. Vmware中Linux 虚拟终端之间 无法切换 解决方法
  13. 工单流转 指派 php,第三节 工单的指派和处理
  14. 卷积神经网络CNN——使用keras识别猫咪
  15. windows副本不是正版怎么解决_怎么才能创作出打动人的内容?解决别人的问题,而不是自己的问题...
  16. php弹幕反检测,【原理讲解附源码】找到B站弹幕的发送者
  17. imx6ull:uboot的make xxx_defconfig 过程分析
  18. vb6.0 清除IE浏览器缓存
  19. 学python大数据培训
  20. gt800打印测试软件,zebra GT800 高级桌面条码标签打印机

热门文章

  1. 电子科技大学计算机专业就业如何,2021年电子科技大学专业排行榜,哪个专业就业比较好...
  2. Django搭建博客网站(2)
  3. ORA12154和TNS03505监听错误的解决方法
  4. 2022软科中国最好学科排名——网络空间安全
  5. 安考星安全生产模拟考试平台会员账号如何获取?
  6. 用户登陆_广东省电子税务局--用户注册登陆指引
  7. oppo锁频段_oppo手机这些隐藏功能,你可能不知道!
  8. BDTC 2017 | 潜能无限,深度剖析大数据在交通旅游领域的应用实践
  9. Unity 创建Text时不使用默认字体
  10. 酒店行业的当下战略如何推动创新