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] 命令行