base 64 ( GNU/Linux vs python )



在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"放在字符串的末尾。

您忘记了echo输出一个换行符。

$ echo -n 'HelloWorld' | base64
SGVsbG9Xb3JsZA==

最新更新