在 Linux 或 OS X 中是否有一种优雅的方法可以做到这一点?
$ echo -n 'hello' | base32
或者更好的是,只使用纯 bash 语法来做同样的事情。例如,这段代码不使用外部命令,只使用 bash。
toBinary(){
local n bit
for (( n=$1 ; n>0 ; n >>= 1 )); do bit="$(( n&1 ))$bit"; done
printf "%s\n" "$bit"
}
$ toBinary 304 => 100110000
我对 Perl 或 Python 解决方案不感兴趣。网络上到处都是它们。我也熟悉所有正常的bc和awk hack。
我更感兴趣的是理解从 ASCII 文本到 base32 或 base64 的算法,而不是通过诡计获得快速简单的解决方案。
这是我迄今为止最好的 - http://code.tutsplus.com/tutorials/base-what-a-practical-introduction-to-base-encoding--net-27590