位置: 编程技术 - 正文

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
  • 建筑业预征缴纳税款
  • 买烟酒开专票可以抵税吗
  • 采购国产设备增值税
  • 哪些行业可以加计抵扣进项税
  • 个税手续费返还要交增值税吗
  • 对外投资收益要交税吗
  • 银行汇票计入什么费用
  • 专票一年可以抵扣吗
  • 建筑公司分包
  • 支付借款利息怎么做账
  • linux系统的文件与目录操作
  • win10应用商店下载微信
  • 往来款项账务处理
  • 营改增开始时间
  • 房产税会计科目有哪些
  • 货物品种不太多而数量又相对较大
  • bootstrap步骤
  • 瓦尔加德
  • 预缴季度企业所得税分录
  • vue组件继承element并重写方法
  • php遍历结果集
  • 税控机维护费抵扣分录
  • 微信小程序实现支付功能
  • 租用办公设备
  • vue中使用原生js
  • 利用php将图片转为文字
  • 利润分配的顺序依次是什么
  • 电子承兑汇票到期怎么收款
  • 纳税申报系统里怎么填写
  • 递延收益期限
  • 购进固定资产的进项税可以抵扣吗
  • 计提的坏账准备计入什么科目
  • sql报数字溢出
  • 电子承兑汇票贴现怎么操作
  • 企业电子发票重开流程
  • 企业股东变更流程及费用
  • db2运维命令
  • 对公账户转私人账户
  • 预收货款方式销售货物,纳税义务发生时间
  • 库存商品一直没有销售怎么办
  • 应交税费科目怎么调整
  • 支付土地租金计入什么科目里面
  • 暂估入库一直未取得发票需要调账吗
  • 公司向股东借款最新规定
  • 金蝶软件版本号有哪些
  • windows server 2008 64位MySQL5.6免安装版本配置方法图解
  • windows server 开始菜单
  • 受益无穷还是受用无穷
  • win2008 R2 与SP1 PS2无法安装操作系统补丁的解决办法
  • gentoo linux优点
  • win7删除通知区域图标
  • os x10.11el capitan beta5更新了什么?os x10.11el capitan beta5下载地址
  • win8.1专业版是哪个
  • windows7的使用方法
  • win7虚拟内存最大设置多少
  • win10没有win8好用
  • eclipse怎么装插件
  • 游戏unity报错
  • js里的this
  • javascript运用
  • opengl 缓存
  • Node.js中的事件循环是什么意思
  • shell中的括号
  • cmd nul
  • python 多线程处理
  • javascript用户名验证
  • javascript要学到什么程度
  • JavaScript中的变量名不区分大小写
  • 如何用android
  • 国家税务总局官网电子税务局
  • 房地产企业预缴税款最新规定
  • 县级税务
  • 江苏省国税客服电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设