在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==