位置: 编程技术 - 正文

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

  • 建筑业增值税税负预警
  • 印花税不通过税金及附加核算
  • 建筑劳务公司做账分录
  • 政府奖励收入要交企业所得税么
  • 税务局财务报表报送期限
  • 没有购置税发票有影响吗
  • 定额发票上可以盖章吗
  • 所有者投入的资本属于什么科目
  • 资本公积金转增股本所获取的收益属于
  • 银行发行理财产品的条件
  • 捐助建学校
  • 个人非货币性资产出资 个人所得税
  • 个税返还交所得税吗
  • 增值税税率简并纳税
  • 公司不动产管理办法
  • 税务变更
  • 电子发票怎么作废操作流程视频
  • 往年的年报填错了怎么办
  • 跨年会计分录错误
  • 销方开具红字发票流程
  • 上月留抵进项抵扣分录
  • 城建税是增值税的附加税吗
  • 汇算清缴补交的所得税会计分录
  • 销售回款率怎么计算
  • 新成立的公司需要报残保金吗
  • 月度计提所得税怎么调整
  • mplugin.exe是什么
  • win7系统笔记本无线网络找不到
  • 商票贴现 银票贴现
  • vue 的watch
  • 康沃尔郡的大学
  • 没有审计报告的情况说明
  • 服务业的增值税
  • es6面试题promise
  • php中split
  • 增值税普通发票税率
  • 企业确认收入实现的条件有哪些?
  • 提取法定盈余公积的公式
  • python里的idle在哪
  • 技术服务型公司如何做账务处理
  • 小规模纳税人应交税费科目设置
  • 农民工工资专户管理暂行办法
  • 营业外支出的内容包括
  • 充电口有烧焦味怎么简单解决
  • 暂估入库按含税价吗
  • 普通发票一般几个点
  • 办培训机构需要什么条件手续
  • 减免城建税的会计分录
  • 预付款项怎么做分录
  • 计算税前利润时 是否考虑资金成本
  • 小规模纳税人减按1%怎么计算
  • 抵扣认证的发票怎么做账
  • 公司与公司之间的借款合法吗
  • 账户信息变更说明
  • 结存成本会计分录
  • 税金及附加如何记账
  • 持有至到期投资改名为
  • 长期待摊费用可以摊销20年吗
  • 私营公司商业汇票怎么开
  • sql server 2005如何使用
  • windows更新kb5001391
  • dockers容器
  • windows如何设置pin码
  • xp系统登录界面登录管理员账号
  • unix含义
  • win8系统忘记电脑开机密码怎么办
  • dotnetfx35有什么用
  • mac查看下载
  • 安装centos7.0
  • win7怎么自启动程序
  • cocos2dx官方教程
  • jquery对动态生成的进行操作
  • unity碰撞得分代码
  • 如何关闭危险端口
  • Unity3D游戏开发毕业论文
  • javascript怎么写
  • jquery全局方法
  • 简述进料加工对中国的意义
  • 计提消费税的会计分录讲解
  • 宏酷集团创始人简介
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设