位置: 编程技术 - 正文

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%增值税率包括哪些
  • 开具增值税专用发票怎么开
  • 不同类型商业分布的特征
  • 未取得合法票据费用怎么算
  • 海关缴款书如何做账
  • 物业管理费属于应付账款吗
  • 税控盘逾期未抄报,交罚款需要带什么
  • 预收款没有发票怎么入账
  • 建筑企业怎么缴纳社保
  • 换货的手续费走哪个科目
  • BIOS里没有USB-HDD选项
  • 企业所得税汇算清缴调增的项目有哪些
  • 会计分录的书写规范
  • 建材网上销售平台有哪些
  • 个人所得税减免政策2023
  • 微信php源码
  • 【AIGC】6、Segment Anything | Meta 推出超强悍可分割一切的模型 SAM
  • 云原生istio
  • php 自定义函数
  • 为什么股本溢价
  • 行政事业单位慰问外单位
  • 精灵图的使用
  • mybatis拦截器执行顺序
  • 会员退费会计分录
  • 用于研发的材料做成产品出售后怎么做账
  • 小规模纳税人是个体户吗
  • 未缴增值税的贷方
  • 生育津贴现在可以打个人账户么
  • 工程管理服务属于哪个行业
  • 个税手续费返还比例
  • 核定征收所得税税率是多少
  • 土地转移是什么意思
  • 销售回扣能计入销售费用吗?
  • 可供分配利润包括哪些
  • 财政直接支付是什么科目
  • 一般纳税人农业企业免企业所得吗
  • 把公司设备操作坏了怎么担责
  • 补缴的增值税可以抵扣吗
  • 打官司产生的费用开成什么发票
  • 生物性资产是什么科目
  • 无建账能力的纳税人是什么意思
  • mysql5.7.21安装教程
  • 永久关闭windows de
  • Winxp安装光盘修复
  • xp双系统怎么设置默认系统
  • 如何在苹果电脑上下载软件
  • linux或者命令
  • /etc/rc.d/rc与/etc/rc.d/init.d的关系介绍
  • 开机提示windows即将过期
  • win10系统edge浏览器打不开解决办法
  • win8系统修复在哪里
  • unity3d协程的作用
  • webpack基本使用
  • 举例讲解水生花卉栽培管理
  • curl发送formdata
  • shell脚本取n天前的日期
  • 深入理解中国式现代化
  • js 构建树
  • 安卓自定义acl文件
  • adb push、adb install 和强制安装
  • jquery foreach循环
  • python 批量ping
  • 安卓点赞脚本
  • 无自然人登记信息是怎么回事
  • 纳税信用评级b是多少分
  • 福建省国家税务总局稽查局局长
  • 上海微电子现状
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设