位置: 编程技术 - 正文

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

  • 个税年度汇算如何补税
  • 个人所得税缴纳标准税率表
  • 公司注册资本认缴
  • Xm公司为增值税小规模纳税企业
  • 购买税控盘全额退税
  • 关联的公司
  • 去年漏记一笔银行付款怎么办
  • 建筑行业一般纳税人简易征收的范围
  • 税控盘维护费优惠政策
  • 糖类计算公式
  • 附加税城建税税率
  • 土地补偿款属于专项资金吗
  • 季度收入超过30万但开票只有10万
  • 政府专项拨款账务处理
  • 哪些企业所得税汇算清缴
  • 其他应付款不用付了会计分录
  • 以土地使用权投资入股的土地增值税
  • 门店出纳的工作内容
  • 小企业会计准则没有以前年度损益调整科目
  • PHP:apache_setenv()的用法_Apache函数
  • 2017年新准则下,收入确认的金额应是
  • cookie验证和token验证的区别
  • php远程命令执行
  • 购进原材料款项怎么入账
  • 预收房屋租金
  • php中正则表达式
  • 房地产开发企业会计制度
  • 存放同业属于什么会计制度
  • 应收账款占用资金的应计利息变动额
  • 职工伙食费会计科目
  • 用支付宝支付的游戏
  • JavaScript charCodeAt() 方法
  • js原型函数
  • 个税手续费返还要交企业所得税吗
  • C语言中次方怎么表示
  • 成本核算的意义是什么
  • 农产品购进时的会计分录
  • 事务所的账务处理
  • 利润表一般采用
  • 企业所得税和个人所得税都要交吗
  • 自用房地产转换为成本模式计量的投资性房地产
  • 让渡资产使用权包括
  • 预收账款是什么要素
  • 暂估管理费用跨年账务处理
  • 无形资产是什么?
  • 注册资本没有全额投入,公司银行贷款贷款利息怎么入账
  • 外购货物用于促销的账务处理
  • 预付款项怎么做分录
  • 贴现利息高好还是低好
  • 购买苗木怎么做政府会计分录
  • 预收冲应收怎么做账
  • 公司租的房子电费发票怎么开
  • 增值税收入的确认时间
  • 如何进行企业建账
  • MySQL MEM_ROOT详解及实例代码
  • 深度解析天梁坐命
  • kcleaner.exe是什么
  • window10怎么启用net 3.5
  • win8.1安装过程
  • 苹果电脑的重新启动在哪里
  • linux磁盘管理fdisk
  • win7暗藏的超实用快捷键汇总
  • win8系统蓝屏后无法修复
  • 怎么关闭win10升级
  • win7系统文件夹怎么加密
  • linux如何关闭ipv6防火墙
  • win7蓝牙驱动软件
  • cocos2dx游戏案例
  • 用dos杀毒的一个软件
  • 批处理修改文件后缀名
  • unity特色
  • javascript教程完整版
  • android 重启app
  • 蛋哥的日常
  • android中的几种动画
  • js function函数
  • 中加税务信息互换执行
  • 阿尔及利亚关税起征点查询
  • 单位首次交社保医疗要多久才能享受
  • 关税是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设