位置: 编程技术 - 正文

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

  • 金融资产交易增值税
  • 汇算清缴时纳税调整表调增金额是怎么算出来的
  • 收到稳岗补贴怎么做会计分录小企业会计准则
  • 没有销项税只有进项税需要结转未交增值税吗
  • 小规模做账流程详细
  • 以前年度多缴的税款退回现金流量
  • 怎样填写增值税普通发票
  • 其他应付款计入资本公积
  • 建立明细账的注意事项
  • 置换上市公司资质要求
  • 应收账款换入固定资产双方账务处理
  • 零工受伤老板怎么赔偿
  • 符合营改增应税服务规定的有
  • 个人电话费发票可以入账吗
  • 实习生需要缴纳个税吗?
  • 增值税普通发票税率
  • 电梯什么情况下可以换个新的
  • 转出多交增值税会计科目
  • 外来原始凭证是指企业财会部门从外部购入的原始凭证
  • 代理记账公司收费标准
  • 报税时利润表没写怎么办
  • 前期费用会计分录
  • 微信转账的手续费规则
  • 增值税发票税率怎么算
  • 怎样获得win11
  • linux运行后出现乱码
  • windows10如何清理磁盘碎片
  • windows无法自动检测网络代理设置该怎么办
  • fsm32.exe是什么进程 有什么作用 fsm32进程查询
  • 公司准备上市到真正上市要多久
  • 年底帐务处理
  • php遍历显示多维数组
  • ryzen3 2200配显卡
  • ubuntu设置nginx开机启动
  • 最早的操作系统被称为什么操作系统
  • 史密斯理工学院
  • html表单合并行
  • 递延收益会计科目的账务处理
  • 发票其他服务费包括哪些
  • 应收票据确认坏账怎么处理
  • php页面跳转实现什么功能
  • 复制/root/install.log到/tmp
  • 旅游业发票的税率是多少
  • 省外的发票能入账吗
  • 帝国cms视频教程
  • php中isset函数作用
  • 票据背书转让会计处理
  • 核定征收企业所得税的小型微利企业不得享受优惠政策
  • 公款私存个人检讨
  • mysql编程一般步骤
  • 外购商品发放给员工 进项税额能不能抵扣
  • 以红字冲回
  • 会计分录如何分配利润
  • 工程完工后的质保金怎么入账
  • 支付资金占用费的承诺函怎么写
  • 冲回以前年度暂估入库
  • 员工体检费发票怎么入账
  • 小企业建账流程图
  • jdbc数据库连接步骤
  • 存储sql
  • 微软官方的网址是多少
  • win xp系统安装
  • linux vps 教程
  • windows 10 20h2推送
  • mac如何设置wifi热点
  • linux apache 启动
  • 在linux中使用什么可以执行shell脚本
  • linux sh
  • CCMoveBy与CCMoveTo
  • 批处理命令是什么语言
  • 很不错的成语
  • html5+javascript实现简单上传的注意细节
  • 常见的dos命令及功能
  • python中类怎么用
  • javascript SpiderMonkey中的函数序列化如何进行
  • js实现vue
  • 电子税务局官网湖南省
  • 云南省昆明市官渡区矣六街道
  • 京东商城发票查询
  • 加油发票如何抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设