【发布时间】:2019-01-10 11:52:26
【问题描述】:
在 linux 上,我可以使用命令“base64”来编码字符串或“python -m base64 -e”,它们具有相同的输出,但在 python shell 中,当我使用 base64 时,我有不同的输出。
#Linux promt
Command : echo 'HelloWorld' | base64
Output : SGVsbG9Xb3JsZAo=
Command : echo 'HelloWorld' | python -m base64 -e
Output : SGVsbG9Xb3JsZAo=
--== python内部==--
import base64
word = "HelloWorld".encode()
new_word = base64.b64encode(word)
print(word)
print(new_word)
输出:
b'HelloWord'
b'SGVsbG9Xb3JsZA=='
我能做什么?为什么会这样? 谢谢大家。
已解决:
为什么会这样:
因为 echo 将“\n”放在字符串的末尾。
【问题讨论】:
-
嗯,
word = "DaviMello".encode()?不应该是HelloWorld吗? -
回显添加
\n -
您所说的命令不是 Linux 的一部分。 Linux 只是内核,因此大多数发行版使用的最常见的内核和工具组合称为 GNU/Linux。
base64来自 GNU 部分。 details -
谢谢大家,@Aran-Fey 是的,我想念我将修复的示例;
-
@KlausD。谢谢,我下次会做的。 :)
标签: python linux python-3.x python-2.7