位置: 编程技术 - 正文

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爬虫全套教程)

  • 工资薪金所得和劳务报酬所得的区别
  • 销售佣金计入什么会计科目
  • 取得虚开普票怎样补增值税
  • 债务重组计入哪项科目
  • 个税年度汇算清缴截止时间
  • 工程结算成本和合同成本区别
  • 承兑汇票区别
  • 5000以下固定资产怎么做账
  • 社保次月什么时候到账
  • 运输费用和保险费用会计分录
  • 房租怎么抵扣个税计算方法
  • 出租屋物品损坏怎么赔偿
  • 借款存入银行会计分录
  • 双薪制工资如何缴纳个人所得税?
  • 进项税额转出报税填哪个表
  • 企业当年发生的某些费用
  • 已经提完折旧的固定资产报废
  • 加盟费没有发票怎么做账
  • 劳务外包业务外包的区别
  • 涂料生产企业消毒方案
  • 财务报表批准日是哪一天
  • 产品维修运费谁出
  • 因为质量问题
  • 科技型企业科研项目申报
  • 实收资本和注册资本的账务处理
  • 新版edge浏览器兼容ie
  • 实收资本要求
  • 股权转让所得怎么做账
  • 鱼湖国家森林中心在哪里
  • 金融资产的会计处理方法
  • Glastonbury Tor, Somerset, England (© DEEPOL by plainpicture/Adam Burton)
  • 金融商品转让业务包括
  • 公司基本户没有开户许可证
  • spring的文章
  • Attentional Feature Fusion 注意力特征融合
  • 专项应付款借方余额表示
  • 附清单格式
  • 小规模纳税人怎么核定税种
  • 网商贷企业贷款条件
  • mongodb $nin
  • 经营范围没有的项目开票了会怎么样
  • 跨境收入免增值税需做备案吗
  • 利润表中的资产处置收益应该计入营业利润还是利润总额
  • 印花税减免税优惠政策2019
  • 第二季度所得税表中研发费用
  • 转让旧固定资产可以开专票吗
  • 公司交的养老保险的钱可以取出来吗
  • 小规模纳税人减按1%账务处理
  • 银行贷款如何做到量价平衡管理
  • 两个企业同一个法人
  • 费用本期发生额怎么算
  • 处置全资子公司合并报表
  • 发票可以冲销几次
  • win10预览版21277
  • win7 用户组
  • .exe是什么软件
  • 为什么win7系统盘会自动满
  • win10 window
  • linux tar -xzvf
  • win10任务栏电源图标打不开
  • win10系统玩英雄联盟可以吗
  • 删除系统桌面
  • JavaScript数组去重
  • android aidl in out
  • linux安装oracle数据库步骤
  • 统计重复出现的次数
  • unity 3d代码
  • jQuery插件ajaxFileUpload使用实例解析
  • js日期格式化方法
  • python计算文件大小
  • unityshader
  • 如何搭建python项目架构
  • python中的格式化输出用法总结
  • android中toast用法
  • 青岛税务局领导
  • 企业所得税优惠事项管理目录2023
  • 企业所得税优惠事项管理目录2023
  • 会计报表错误
  • 市中区税务局办税大厅地址
  • 汕头办理社保卡流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设