如果我base64编码一个由七个字符组成的字符串,例如abcdefg
网站https://www.base64encode.org/的结果为YWJjZGVmZw==
。尾随" =="字符是填充,因为输入字符的数量不能除以7。
我在bash中重现了这个结果。所以我尝试了以下命令:
echo "abcdefg" | base64
然而,结果现在不同了:
YWJjZGVmZwo=
我正在使用安装了base64(GNU coreutils)8.25的Ubuntu。
如果有人能给我一个提示,我会很高兴。
答案 0 :(得分:4)
我刚才注意到所描述行为的原因是echo
最后写的换行符。所以正确的命令是以下压缩换行符
echo -n "abcdefg" | base64
然后输出就像我期望的那样:
YWJjZGVmZw==