Base64 编码可以通过
$ echo Some_data_to_be_converted | base64
U29tZV9kYXRhX3RvX2JlIF9jb252ZXJ0ZWQK
Base64解码可以通过
$ echo U29tZV9kYXRhX3RvX2JlIF9jb252ZXJ0ZWQK | base64 -d
Some_data_to_be_converted
最佳答案
这与@jps 的建议相同,但更短。还记得echo
默认情况下总是在末尾添加换行符,所以当你想对它进行编码时,你必须添加 -n
.
echo -n "Some_data_to_be_converted" | base64 | tr '/+' '_-' | tr -d '='
用内置的 bash 工具解码它更复杂,因为我没有找到一种简单的方法来用“=”填充字符串,以便长度可以被 4 整除。可能可以用
awk
来完成。但我挖得不够深。如果你有本地 ruby ,它变得微不足道:2.6.2 > require 'base64'
2.6.2 > Base64.urlsafe_encode64('test', padding: false)
=> "dGVzdA"
2.6.2 > Base64.urlsafe_decode64('dGVzdA')
=> "test"
关于shell - 如何使用unix命令对base64和base64URL中的数据进行编码和解码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58957358/