位置: 编程技术 - 正文

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

  • 分红给合伙企业后,被普通合伙人借走
  • 固定资产未转固属于什么风险
  • 房产税的纳税义务人是征税范围内房屋产权所有人
  • 小规模纳税人批发机动车
  • 珠宝首饰可以开发票吗
  • 公司清算后未处理财产
  • 普通商户怎么开小票
  • 增值税发票抵扣勾选平台如何操作
  • 小型微利企业减按25%计算应纳税所得额
  • 建安企业无收入怎么结转成本?
  • 转账支票给员工转工资
  • 建安企业工资占比标准
  • 调解书和判决书执行力度一样吗
  • 电子发票开错怎么办
  • 增值税普通发票和普通发票的区别怎么交税
  • 小规模时取得的专票在一般纳锐人之后可以抵扣吗
  • 股东投资款印花税多少
  • a公司拟吸收合并b公司除一项无形资产吗
  • 支付的专家费怎么入账
  • 新注册公司季度资产为零
  • 企业的其他业务成本包括什么
  • 打印企业银行流水需要密码吗
  • 收到税务局信息
  • 利润分配会计处理时间
  • 设计行业开票税点
  • vue打包速度优化
  • Create OpenAI Account的教程来啦,赶紧学习吧!
  • 一个简单的html文档一般且必须包含哪些标签
  • 采用公允价值模式计量的投资性房地产处置
  • php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
  • php分层架构
  • php使用自定义函数编程求半径r的圆的周长和面积
  • uniapp开发常用案例
  • lstm输出多个预测值
  • python中事件处理的方法
  • spring 门面模式
  • python如何提取文件中的数据
  • python中import语句
  • 利息应怎么录入收入
  • access2010加密解密数据库时
  • 公司刚成立没有员工需要申报个税吗
  • 购进免税农产品发生非正常损失
  • 融资租入固定资产的改建支出
  • 单位定期存款如遇利率调整,不论调高调低
  • 以货物抵应收账款的分录
  • 管理费用包括哪些
  • 计提时的会计分录
  • 生产型企业的主要绩效考核指标
  • 本年利润净利润的关系
  • 消费税的科目设置在哪里
  • Windows下安装爱思助手V8
  • 通过分析SQL语句的执行计划优化SQL
  • mysql 5.7.18 winx64安装配置方法图文教程
  • 在linux系统中
  • hl.exe是什么
  • /wlan direct
  • linux创建makefile
  • dmidecode 硬盘
  • win10未检测到任何网络硬件
  • win7连接VPN时提示800错误怎么办 连接VPN时提示错误800解决方法
  • 不格式化更改盘符
  • lua struct
  • json的用法
  • perl 匹配不区分大小写
  • javascript基础笔记
  • js闭包解决了什么问题
  • Unity for Absolute Beginners(一)
  • 在javascript中如果不指明对象直接调用
  • 使用jquery
  • the oculus rift
  • jQuery之简单的表单验证实例
  • html仿淘宝
  • js文本框只能输入字母
  • 办税服务厅怎么开通扣缴端数据下载
  • 未缴税税务说明书
  • 劳办发1994第48号文全文原文
  • 劳务包含哪些
  • 高新区地税办税服务厅
  • 会计基础工作规范2024
  • 税收是初次分配的手段
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设