快来偶遇多胞胎姐妹
Python孙行者
共 739字,需浏览 2分钟
· 2021-02-07
背景
日前在开发一个公共服务接口,遇到一个灵异事件:
前提:“同一个参数”;
>>> me = 'a b'
>>> user = 'a b'
>>>
自测顺利返回数据;
第三方调用提示没有相关数据。
思考
难道调用的姿势不对? 请求方法、参数条件都满足,PASS
难道调用到其他开发环境接口?Nginx转发、服务环境都正确,PASS
拿到代码版本不同?git log查看,commit id一样,PASS
本着计算机在其他条件恒定情况下相同输入总会得到相同输出的思想。
难道输入不一样?
但它们看起来没有不同。
甄别
首先进行字符串比较
>>> me = 'a b'
>>> user = 'a b'
>>> me == user
False
从字符串比较结果来看,它们只是看起来一样而已。
那么就进行字符比较,找出不同的字符
Python中对字符的甄别提供了一个很好的函数:
>>> ord('a')
97
>>> me = 'a b'
>>> user = 'a b'
>>> me == user
False
>>> [ord(char) for char in me]
[97, 32, 98]
>>> [ord(char) for char in user]
[97, 160, 98]
从中发现,自测使用的空格和第三方使用的空格的Unicode编码是不一样。
从而明白为什么“相同的字符串”传递给同一个接口得到的结果却截然不同。
总结
有时候不能相信肉眼判断
字符串的判断还是交给程序去判断
坚信自己的思想:同样的输入就意味着同样的输出
其实,空格存在许多姐妹,具体自己去搜索了解吧
学海无涯,RidingRoad Always on the Road
评论
6 个火爆 GitHub 的后台管理模板,快来收藏!
将Python客栈设为“星标⭐”第一时间收到最新资讯今天来给大家介绍6个火爆 G 站的管理后台模板,有了它们,对于前端不是很熟悉的小伙伴来说,再也不用烦恼了,而且有一说一,即使是前端大牛,要想从零开发一套完整的管理模板,也不是一件容易的事情。1. vue-element-admin该项目是基于 Vu
Python客栈
0
退税了,快来“捡钱”
素材来源官方媒体/网络新闻 转 自 : why技术 今 年又是可以退税的一年,真香,就像捡钱一样。 一年一度“多退少补”的日子又到了 一大早 #退税#就冲上热搜第一 3月1号起 一年一度的个人所得税 综合所得年度汇算即将开...
Python绿色通道
0
退税了,快来“捡钱”
素材来源官方媒体/网络新闻 转 自 : why技术 今 年又是可以退税的一年,真香,就像捡钱一样。 一年一度“多退少补”的日子又到了 一大早 #退税#就冲上热搜第一 3月1号起 一年一度的个人所得税 综合所得年度汇算即将开...
裸睡的猪
0
探秘“神机宝贝”,赢取数学启蒙神器,快来参加吧!
每一位家长都会想的问题,如何让孩子学好数学? 这个问题,一两句话 还真解释不清。 但我们可以换个角度来看这个问题: 你希望孩子通过学习数学,收获什么能力? 事实上,数学不仅仅是算数, 最重要的其实是逻辑推理...
等风来也等你
0