位置: 编程技术 - 正文

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

  • 小规模纳税人缴纳企业所得税
  • 收到发票怎么写收据
  • 非房地产企业销售不动产增值税计算
  • 企业前期开办费没有发票怎么入账
  • 外资企业研发中心
  • 外商投资企业与内资合资是国企吗
  • 公益性捐赠会计分录金额
  • 研究费加计扣除多少
  • 收到促销商品怎么做分录
  • 现金流量表本月数和本年累计数不一致
  • 小微企业几个人
  • 小微企业企业所得税怎么征收2023
  • 资金占用费如何开票
  • 生产成本中材料款年末要全部结转吗
  • 个人买卖黄金如何缴税
  • 专票的六位开票代码指的是什么
  • 利息收入 开票
  • 公司代缴个人社保费怎么做账
  • 个人所得税生产经营所得
  • 利润表中的减是什么意思
  • 所得税补税怎么申报
  • 以前年度原材料调出怎么做会计分录
  • 期货和远期
  • 广告公司的成本是什么
  • php获取用户名
  • mac笔记本装了双系统后打开苹果系统和原来一样吗
  • wlms.exe是什么
  • 发票开出后对方不付款
  • 应收债权换入无偿收益
  • php vr
  • 工业厂房修建需要哪些手续
  • 收到捐赠的设备一台
  • 挂靠的项目怎么做账
  • php文件用什么运行
  • opencv1.0安装
  • GPT-4:关于下一代人工智能模型的事实、谣言和期望
  • 国税网如何下载申报后的财务报表
  • 林场苗圃工作有哪些
  • 如果企业一直亏损不交所得税会被税局稽查吗
  • 应收利息可以计入其他应收款吗
  • 商贸公司库存商品怎么做分录
  • 企业借款生产存货发生的借款费用均应予以资本化
  • 工程增值税怎么算,知道9%的税率
  • python generation
  • dedecms进入数据库
  • 织梦官网倒闭了吗
  • 采购商品没有进账怎么做账
  • 当月计算的增值税是负数怎么办
  • 计提税金用什么附件
  • 应收账款属于会计科目吗
  • 收到实收资本的现金流
  • 即期外汇交易有风险吗
  • 应收账款贷方余额应与什么科目合并后填入报表
  • 货代代缴增值税关税如何做账
  • 营业外支出包括
  • 同城票据交换差额户的帐号怎么查对方的帐号
  • 本年利润是净利还是负利
  • 什么计提折旧什么不计提折旧
  • sqlserver恢复模式简单和完整
  • macbook和windows
  • ubuntu16设置启动项
  • 如何使用U盘装机
  • win10快速启动怎么进入bios
  • win101909玩dnf怎么样
  • ubuntu系统虚拟机运行
  • win10系统电脑无法开机怎么办
  • kazaalite.exe是什么进程 kazaalite进程有什么用
  • 查找临时文件的命令
  • win7系统英雄联盟黑屏
  • python做排序
  • unity-3d
  • 搭建安卓开发环境必须的工具
  • Android Http请求方法汇总
  • js设计模式有什么用
  • angular创建service
  • Android Listview addHeaderView setadapter的时候莫名NullPointerException 解决
  • python app爬虫教程
  • 河南热力公司收费标准
  • 税收征管工作的基本目标
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设