Base64(GNU/Linux vs Python)[duplicate]

w46czmvw  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(102)

这个问题已经有答案了

Why is an MD5 hash created by Python different from one created using echo and md5sum in the shell?(1个答案)
五年前就关门了。
在Linux上,我可以使用命令“base64”来编码字符串或“python -m base64 -e”。它们有相同的输出,但在Python shell中,当我使用base64时,我有不同的输出。

#Linux prompt

Command : echo 'HelloWorld' | base64

Output  : SGVsbG9Xb3JsZAo=

Command : echo 'HelloWorld' | python -m base64 -e

Output  : SGVsbG9Xb3JsZAo=

--==在Python shell中==--

import base64

word = "HelloWorld".encode()
new_word = base64.b64encode(word)
print(word)
print(new_word)

输出量:

b'HelloWord'
b'SGVsbG9Xb3JsZA=='

我该怎么办?为什么会这样?

已解决:

为什么会这样:
因为echo把“\n“放在了字符串的末尾。

rseugnpd

rseugnpd1#

你忘了echo输出一个换行符。

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

相关问题