Base64 coreutils编码填充(跟踪“ =”字符)

Fre*_*ude 4 bash base64

如果我使用base64编码由七个字符组成的字符串,例如abcdefg使用https://www.base64encode.org/网站,则结果为YWJjZGVmZw==。尾随的“ ==”字符是填充字符,因为输入字符的数量不能除以7。

我必须在bash中重现此结果。因此,我尝试了以下命令:

echo "abcdefg" | base64
Run Code Online (Sandbox Code Playgroud)

但是,现在的结果有所不同:

YWJjZGVmZwo=
Run Code Online (Sandbox Code Playgroud)

我正在使用安装了base64(GNU coreutils)8.25的Ubuntu。

如果有人可以给我提示,我将很高兴。

Fre*_*ude 5

我刚刚注意到,所描述行为的原因是最后echo写的换行符。因此,下面的正确命令将取消换行符

echo -n "abcdefg" | base64
Run Code Online (Sandbox Code Playgroud)

然后输出就像我期望的那样:

YWJjZGVmZw==
Run Code Online (Sandbox Code Playgroud)