linux 命令行里有一个base64命令,很经常使用,很方便。linux
好比要解码一个字符串,以往我都是直接 echo "xxx" | base64 -d 这样,一直都没什么问题,直到今天上午......编程
最近几天在学习网络编程,写了一个超简单的 SMTP 的 client ,写以前想着先 telnet smtp.163.com 25 连一下,手动输入命令试一试,网络
结果在 AUTH LOGIN 的时候死活登陆不上,16三、qq、学校邮箱,无论登哪一个邮箱,用哪一个邮箱提供商都不行。学习
我试来试去,研究了一下午,最后才发现是我 base64 的命令写的不对......编码
原来,直接 echo "xxxxx" 的时候会自动在后面加上换行符,管道传给 base64 的时候编码的固然就不是原来的字符串了spa
正确用法: echo -n "xxxx" | base64 [-d] 命令行