初学 Python ,请问这段代码的含义。。return base64.b64decode(s+b'==')

2018-10-19 12:19:59 +08:00
 ladypxy

def safe_base64_decode(s): return base64.b64decode(s+b'==')

看廖雪峰教程上有人发的 这是传入 s,然后把 s 去掉== 传出然后返回么? python 这个语法感觉好怪。。

3421 次点击
所在节点    Python
6 条回复
locoz
2018-10-19 12:24:36 +08:00
这不就是把 s 变量加上两个等于号然后 base64decode 吗。。
ladypxy
2018-10-19 12:33:24 +08:00
@locoz 突然发现这语句是 decode 不是 encode。。。。脑残了。。
NoAnyLove
2018-10-19 12:55:49 +08:00
s+b = sb?

这里的 b 是 bytes 前缀,代表 bytes 的字符串,也就是说,应该看成 s + b'=='。所以,你要抑制住把 s 和 b 连在一起看的冲动啊。(手动滑稽)
choury
2018-10-19 12:58:01 +08:00
=是 base64 里的占位符,这个代码就是不想算后面需要几个占位符,无脑加两个吧
sideman
2018-10-19 16:19:41 +08:00
base64 码用=补位,不过一般用 4-len(s)%4
确定补位的个数
lenov0
2018-10-19 18:36:56 +08:00
这不是在用 base64 加密吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/499086

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX