位置: 编程技术 - 正文

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

  • 会计一般什么时候考试
  • 库存现金冲销
  • 增值税专票如何添加商品名称
  • 小规模入账的收入分录
  • 个体工商户怎么变更法人
  • 借条时间到了怎么续
  • 小微企业注册流程及费用微
  • 软件销售利润
  • 先付款后开票是预付吗
  • 公司账户的钱怎么取出来
  • 为什么购买的货没有发票
  • 转移性支付收入是什么
  • 转让不动产增值税计算
  • 期初固定资产净值在资产负债表中的哪里
  • 机械租赁费怎么算
  • 外币资本金使用范围
  • 复式记账法和会计分录
  • 提前还款罚息是多少
  • 土地转让收入怎么交所得税?
  • 不能取得进项发票但结转成本,税务说明怎么写
  • 电子税务局进项票汇总
  • 受赠人个人所得税
  • 公司基本户没开影响报税吗
  • 资产减值损失在贷方表示什么意思
  • 收到的税费返还减少的原因
  • 企业专项储备属于什么科目
  • 杜邦分析法的三个核心是什么
  • 购买转账支票费用
  • 发票和款未付可以抵扣吗
  • 财付通转出的钱能还回来吗
  • 螺丝计入什么费用
  • 高新技术企业人员工资占比
  • 预收款退回怎么写分录
  • phpjson
  • Mail.app增强插件:Universal Mailer介绍
  • 装饰工程施工包括什么
  • php框架实例
  • 票据贴现税务处理
  • netbeans ide 8.1
  • 对公收费明细入账计入什么科目
  • vue cannot set property
  • npm ERR! notarget No matching version found for xxx@^1.0.64. npm 插件安装失败
  • php对接第三方支付
  • ps如何进行像素修复
  • 同业代付的好处
  • 专用发票费率
  • 关于公司预支工资制度
  • 不动产固定资产清理
  • 个体工商户社保扣费不成功
  • 购买理财资金来源规定
  • 红字发票信息表编号
  • 小说连载阅读安卓版下载
  • 金蝶k3开票
  • 在其他地区设立分公司需要
  • 影响留存收益变动的选折题
  • 已计提的城建税有误,怎么办
  • 电子税务局是指什么意思
  • 利息收入是一级科目还是
  • 增值税期末留抵退税原因采集确认单
  • 有限责任公司减资的条件
  • 购买土地需要缴纳哪些费用
  • 小规模注销时盈余怎么算
  • 负数发票怎么开具?
  • 资产减值损失冲减
  • 群发网址
  • windows xp操作
  • xp系统无法安装win7系统
  • 显示隐藏文件也看不到
  • [置顶]公主大人接下来是拷问时间31
  • 边学边玩的游戏
  • android view详解
  • JavaScript中getUTCSeconds()方法的使用详解
  • js 小数取整的函数怎么写
  • 访问网页显示脚本错误
  • javascript的对象
  • 国税怎么打印发票
  • 山东省税务局网站首页
  • 个人转让住宅需要缴纳什么税
  • 电子缴款凭证可以用于报销吗
  • 如何落实保密制度规定措施
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设