位置: 编程技术 - 正文

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

  • 坏账核销抵税
  • 民办学校房屋要求
  • 收付转记账凭证图片
  • 建筑行业分包款要分项目扣除吗
  • 未达起征点的增值税怎么算
  • 预缴 汇算清缴
  • 公司为员工租房费用的会计分录
  • 公司聘请专家的差旅费可以税前扣除吗
  • 汇票本票的区别
  • 外商投资企业所得税法第八条
  • 房产公司办公室布局
  • 项目现金流量的构成
  • 公司承揽员工租房个税如何入账?
  • 免抵退办法出口销售额和免税销售额的区别
  • 计提固定资产减值准备属于什么支出
  • 土地增值税清算规程实施细则
  • 食用油从商业流入的原因
  • 工程发票备注怎么写
  • 哪些理财产品能赎回
  • 印花税税基含不含增值税
  • 小企业会计准则和企业会计准则的区别
  • 企业上月份销售收入在本月份发生销售折让时
  • 出售固定资产账务如何处理
  • 机票改签费要开发票吗
  • 稽查查补的税款可以享受即征即退吗
  • 融资租赁哪些项目可以增值税抵扣
  • 工会经费的会计分录2022
  • windows 11密钥
  • 预付的货款的发票在哪里
  • psoft1.exe - psoft1是什么进程 有什么作用
  • 没有以前年度损益调整怎么办
  • 政策性搬迁的会计处理
  • 收到某公司的钱的会计分录
  • Laravel中七个非常有用但很少人知道的Carbon方法
  • 福利部门领用原材料进项税额可以抵扣吗
  • framework启动
  • 劳务发票服务类型有哪些
  • 中秋快乐图片大全
  • 设置php扩展路径
  • AttributeError: cannot assign module before Module.__init__() call
  • php基本语句
  • 税控盘全额抵扣发票怎么勾选
  • 权益法转换为成本法
  • 房屋租赁公司装修要求
  • 未缴足注册资本
  • 开源 okr
  • dedecms配置
  • 企业所得税汇算清缴表
  • 子公司再设立子公司
  • 长期股权投资追溯调整有几种情况
  • mysql修改表结构的关键字
  • 购买加油卡需要什么证件
  • 季节性停工损失计入存货成本吗
  • 劳务费个人所得税核定征收
  • 退回投标保证金在投诉阶段怎么办
  • 政府补助计入资本公积吗
  • 仓库管理人员工资属于什么费用
  • 应收账款坏账准备的会计分录
  • 教你设置陌陌耳返
  • ubuntu18.04更新到20.04
  • ubuntu 安装指定位置
  • os x yosemite10.10.5怎么样?os x yosemite10.10.5公测版下载地址
  • 如何重置路由器wifi密码
  • window10突然激活失效
  • linux最常用的shell终端是
  • win7 64位旗舰版电脑中如何让EditPlus软件在保存文件时不生成bak文件?
  • opengl oes纹理
  • android入门视频教程
  • 只有一行的矩阵的逆矩阵
  • gdi双缓冲绘制
  • node.js net模块
  • 获取nodejs命令行信息
  • css标准规范
  • python内置函数用来返回列表,元组,字典
  • 深入解读我本是高山
  • python爬虫视频教程
  • activity的作用和生命周期
  • windows ipython
  • java教程 视
  • 湖北税务查询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设