位置: 编程技术 - 正文

python中urllib.unquote乱码的原因与解决方法

编辑:rootadmin

推荐整理分享python中urllib.unquote乱码的原因与解决方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

发现问题

Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%E6%B3%%E5%9B%BD%E7%BA%A2%E9%%”解码后会转换成“法国红酒”,但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码“æ³&#;å&#;&frac;红酔。

笔者在一个真实的Tornado应用中就遇到了这样的问题,浏览器通过请求传递到后台后,获取参数的值后:

name的值打印出来的显示的是:“%E6%B3%%E5%9B%BD%E7%BA%A2%E9%%”,看起来没什么问题,但结果最终保存到数据库中的时候就成了一串乱码“æ³&#;å&#;&frac;红酔,这个问题实在是让人百思不得其解。

python中urllib.unquote乱码的原因与解决方法

原因分析

于是想用直接编码的字符来处理看看是否会出现乱码:

发现这种方式处理没有任何问题,name的值解码之后就是“法国红酒”,经过一番思考,原因只可能是出在self.get_argument("name")这处代码段了。原来,get_argument默认返回的是值的类型是unicode,而unquote方法处理unicode类型的字符时,直接返回的就是:

注意:这里返回的值类型是unicode,也就是说unquote方法接收参数类型是unidoe,返回的值类型也是unicode,只不过是把"%"替换成了'x',最终由:

替换为了:

而u"xe6xb3xxe5x9bxbdxe7xbaxa2xe9xx"完全就是一个ascii码字符串,只不过是用进制表示的,我们再来看看'e6','b3'....分别对应ascii中的什么字符。你可以参考网址:

python爬虫实战之爬取京东商城实例教程 前言本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧。主要工具scrapyBeautifulSouprequests分

python爬虫框架scrapy实战之爬取京东商城进阶篇 前言之前的一篇文章已经讲过怎样获取链接,怎样获得参数了,详情请看python爬取京东商城普通篇,本文将详细介绍利用python爬虫框架scrapy如何爬取京

Python处理PDF及生成多层PDF实例代码 Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能。PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法。Re

标签: python中urllib.unquote乱码的原因与解决方法

本文链接地址:https://www.jiuchutong.com/biancheng/375555.html 转载请保留说明!

上一篇:Python面向对象特殊成员(python面向对象特征)

下一篇:python爬虫实战之爬取京东商城实例教程(python爬虫全套教程)

  • 启用新账簿时,应填写
  • 白酒消费税税率多少钱一吨
  • 劳务派遣增值税怎么算
  • 集资款利息走什么科目
  • 付给总机构的管理费可以税前扣除吗
  • 社会团体收费项目有哪些
  • 销售货物的价外费用有哪些
  • 当月计提的增值税是什么
  • 企业收到一笔钱不知道什么钱 如何做账
  • 少缴纳个人所得税的需要付什么责任
  • 未报税会怎么样
  • 自来水费缴纳后多久来水
  • 营改增后固定资产报废处置收入计税
  • 增值税小规模纳税人适用3%征收率
  • 可转换债券转换权的价格怎么算
  • 住宿发票3%和6%区别
  • 应付的工资属于什么科目
  • 税局代开专票会计分录怎么写?
  • 结转本月主营业务收入800000元,营业外收入2500元
  • 电脑管家系统异常要修复吗
  • 进货折扣适用于什么条件
  • 系统属性的表现
  • php远程调用
  • php写json
  • win7如何更换开机密码
  • win11资源管理器卡死
  • dvdram是什么意思
  • php or
  • php封装接口
  • 无形资产转让的会计处理
  • php删除语句
  • 建筑业红冲发票如何处理
  • 增值税及附加税是什么意思
  • 应纳税额等于啥
  • php正则函数内容匹配
  • 单目测距精度
  • vue 跳转页面
  • 什么是AI工具
  • 小规模纳税人的企业所得税税率
  • php require函数
  • 以固定资产抵账什么意思
  • 帝国cms移动端
  • 工会捐款怎么账务处理
  • 先计提所得税还是先结转成本
  • phpcms怎么用
  • 停工损失会计分录怎么写
  • 撤销红字发票申请表
  • 员工自己全额承担社保费用要计提吗
  • 股权激励具体解释是什么
  • 以前年度损益调整
  • 资产减值损失科目
  • 确认收入结转成本可以写在一张凭证上吗
  • 已付款但未收到发票怎样记账
  • 生产辅料清单
  • 什么时候用以前年度损益调整科目什么时候用所得税科目
  • 收到红字发票如何处理
  • 事业单位应设置事业收入科目
  • sql排序分组
  • win8怎么卸载应用程序
  • awk正则表达式中引入变量
  • koeidsnd.dll
  • linux在vim编辑器中,将光标移动
  • linuxmint设置中文
  • shell中break和continue
  • unity3d游戏引擎支持几种平台发布?
  • 浅析Javascript ES6中的原生Promise
  • getmac/v
  • 修改cmdline
  • three.js入门教程(合集)
  • linux如何剪切文件
  • JavaScript中Number.MIN_VALUE属性的使用示例
  • nodejs开启多线程
  • js实例教程
  • 主机端口扫描程序设计python
  • Unity3D游戏开发标准教程
  • ubuntu系统的手机
  • 安卓监听功能
  • 北京国税网上办税服务大厅
  • 河北国家税务局官网站
  • 在国税局工作属于什么职业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设