Base64 coreutils编码填充(尾随" ="字符)

时间:2017-08-25 12:16:22

标签: bash base64

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

我在bash中重现了这个结果。所以我尝试了以下命令:

echo "abcdefg" | base64

然而,结果现在不同了:

YWJjZGVmZwo=

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

如果有人能给我一个提示,我会很高兴。

1 个答案:

答案 0 :(得分:4)

我刚才注意到所描述行为的原因是echo最后写的换行符。所以正确的命令是以下压缩换行符

echo -n "abcdefg" | base64

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

YWJjZGVmZw==