位置: 编程技术 - 正文

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

  • 应交增值税已交税金是什么意思
  • 增值税专用发票丢失了要怎么处理
  • 公司有残疾人需要交税吗
  • 财务报表没报会影响出口退税吗为什么
  • 上个月没有清卡,这个月可以抄税吗
  • 本月发生费用下月收到发票
  • 利润分配在利润表里填哪一项
  • 差额发票的税额怎么计算
  • 销售发票的会计处理
  • 项目现金流量的构成
  • 工会发放节日慰问
  • 融资租赁开始日最低租赁付款额
  • 工薪个人所得税扣除
  • 残保基金属税金怎么算
  • 关于旅行社代订的通知
  • 专用发票的有效期是几年
  • 金税盘全额抵扣分录怎么做
  • 事业单位考试一门多长时间
  • 文化事业建设税征税范围
  • 红字信息表没有编号
  • 建筑业的一般纳税人
  • 厂房转让会计分录
  • 合伙企业是怎样分红的
  • 会计监督的基本规定有哪些
  • 往年的营业外收入冲减
  • 单位给个人报销计入什么科目
  • 国家减免税款怎么申请
  • PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
  • 分配利润的会计科目
  • 出售短期债券投资发生的净损失计入哪里
  • 收购农产品进项税抵扣税率是多少
  • php抓取网页内容转换成json
  • 显示器显示频率设置
  • 财务人员如何审核招待费报销单
  • thinkphp技巧
  • 2021vue面试
  • 工资必须走银行卡吗
  • 收取包装物押金会计分录
  • 股东分红税率是20%还是25%
  • 谁能代替你啊
  • 什么是预收账款减少
  • 存货盘亏原因不明会计分录
  • 委托贷款利息收入
  • c语言中有哪些语句
  • wordpress删除修订版本
  • mysql的innodb引擎支持外键
  • 资金托管账户的钱能查到吗
  • 用于维修安装服务的工具
  • 资产损失账务处理要求
  • 本年利润会计处理流程
  • 进出口代理的账务怎么做
  • 其他业务收入如何核算
  • 跨年跨月发票账务处理
  • 公司租用私人汽车怎么操作
  • 应付账款账户怎么结转
  • 每个单位都要缴纳五险一金吗
  • 企业预付账款是什么意思
  • 多种不同的 MySQL 的 SSL 配置
  • macbookpro蓝牙找不到
  • freebsd忘记root密码
  • xp系统磁盘检查进不去
  • dllhost应用程序异常
  • centos安装v2
  • sf2是什么文件
  • win10桌面图标显示错误
  • linux测试端口连接
  • win7 u盘不显示
  • 图形学题目
  • 运算符优先级由高到低的顺序
  • jquery使用教程
  • python中将字典转换为字符串
  • android简单项目及代码
  • 车票进项税怎么认证
  • 党建共建的目的
  • 重庆市劳动监察大队官网
  • 重庆税务局发票作废
  • 国家实行什么制度鼓励电力用户合理调整用电负荷
  • 北京车船税新标准
  • 小规模纳税人租赁费税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设