URL网址中的编码与解码问题
一、中文编码有三种形式
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网址中的编码与解码问题相关推荐
- Android 中的编码与解码
前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败.但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * .# . 特殊符号在提交表单的时候,出现了编码不一样的 ...
- Java中的编码与解码
1. 基本概念: (1)字符集(Charset):是一个系统支持的所有字符的集合,包括各国家文字.标点符号.图形符号.数字等. (2)字符编码(Character Encoding):就是一套自然语言 ...
- Vue中base64编码和解码
推荐一个不错的学习资料库 Vue中base64编码和解码 1.在项目更目录下执行命令,安装 npm install --save js-base64 2.在使用的项目引入 let Base64 = r ...
- 【Python笔记】Python 中的编码与解码
本文记录 Python2.x 和 Python3.x 中关于编码和解码的问题. 文章目录 1. 一些基本的概念 2. 编码格式 3. 编码和解码 4. Python3 的默认编码 1. 一些基本的概念 ...
- url传参参数编码的解码问题
JS中encodeURIComponent(URL)编码与decodeURIComponent(URL)解码详解 (1)encodeURIComponent(url)函数 定义和用法 encodeUR ...
- php解析url编码,php对URL传参进行编码和解码解析
1. 对URL 传递的参数进行编码 使用URL 传递参数数据,就是在 URL地址后面加上适当的参数.URL 实体对这些参数进行处理.其使用的方式如下面的格式: 显而易见,这种方法将会把参数暴露出来,安 ...
- golang中base64编码_golang中base64编码和解码
golang中base64的编码和解码可以用内置库encoding/base64 package main import ( "encoding/base64" "fmt ...
- python3中的编码与解码
首先,为什么要编码? 我们知道,计算机只能存储二进制串001100011.... 如果要计算机存储一个数字7,计算机可以用00000111来表示 如果要存储'a'这个字符呢?肯定也用一个二进制串来表示 ...
- python编码解码的过程_使用Python过程中的编码和解码
编码和解码的问题纠结了我很久了,对他一直只有是是而非的理解,好像是那么回事,但是又不懂,今天终于来认真解决一下这个问题,总结一下大神们的回答,做一下笔记. 首先,我们知道,计算机中的所有数据都以二进制 ...
最新文章
- 关于bhuman文件结构
- 笔记本网络计算机和设备不可见,xp电脑不显示无线网络的七种原因和解决方法...
- 设计用例测试下面的python程序def do_你能变形python的unittest测试用例吗?
- 找出一个字符串中出现次数最多的字_487,重构字符串
- 计算机x线影像ppt,计算机X线摄影ppt课件
- hive 常用UDF
- Python练习:五到七章的练习题
- python数字组合算法_python - 简单算法题 - 求三位数组合
- 201671030116 宋菲菲 实验十四 团队项目评审课程学习总结
- 3306端口被占用解决方式
- UE4 替换文件尝试解决 光照构建失败 Lighting build failed. Swarm failed to kick off
- Vmware中Linux 虚拟终端之间 无法切换 解决方法
- 工单流转 指派 php,第三节 工单的指派和处理
- 卷积神经网络CNN——使用keras识别猫咪
- windows副本不是正版怎么解决_怎么才能创作出打动人的内容?解决别人的问题,而不是自己的问题...
- php弹幕反检测,【原理讲解附源码】找到B站弹幕的发送者
- imx6ull:uboot的make xxx_defconfig 过程分析
- vb6.0 清除IE浏览器缓存
- 学python大数据培训
- gt800打印测试软件,zebra GT800 高级桌面条码标签打印机
热门文章
- 电子科技大学计算机专业就业如何,2021年电子科技大学专业排行榜,哪个专业就业比较好...
- Django搭建博客网站(2)
- ORA12154和TNS03505监听错误的解决方法
- 2022软科中国最好学科排名——网络空间安全
- 安考星安全生产模拟考试平台会员账号如何获取?
- 用户登陆_广东省电子税务局--用户注册登陆指引
- oppo锁频段_oppo手机这些隐藏功能,你可能不知道!
- BDTC 2017 | 潜能无限,深度剖析大数据在交通旅游领域的应用实践
- Unity 创建Text时不使用默认字体
- 酒店行业的当下战略如何推动创新