编码
在 Linux 上
单行结果:
base64 -w 0 DSC_0251.JPG
对于HTML
:
echo "data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
作为文件:
base64 -w 0 DSC_0251.JPG > DSC_0251.JPG.base64
在变量中:
IMAGE_BASE64="$(base64 -w 0 DSC_0251.JPG)"
在变量中HTML
:
IMAGE_BASE64="data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
在 OSX 上
在OSX上,base64
二进制不同,参数也不同。如果你想在OSX上使用它,你应该删除-w 0
.
单行结果:
base64 DSC_0251.JPG
对于HTML
:
echo "data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
作为文件:
base64 DSC_0251.JPG > DSC_0251.JPG.base64
在变量中:
IMAGE_BASE64="$(base64 DSC_0251.JPG)"
在变量中HTML
:
IMAGE_BASE64="data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
通用 OSX/Linux
作为壳函数
@base64() {
if [[ "${OSTYPE}" = darwin* ]]; then
# OSX
if [ -t 0 ]; then
base64 "$@"
else
cat /dev/stdin | base64 "$@"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "$@"
else
cat /dev/stdin | base64 -w 0 "$@"
fi
fi
}
# Usage
@base64 DSC_0251.JPG
cat DSC_0251.JPG | @base64
作为 Shell 脚本
创建base64.sh
具有以下内容的文件:
#!/usr/bin/env bash
if [[ "${OSTYPE}" = darwin* ]]; then
# OSX
if [ -t 0 ]; then
base64 "$@"
else
cat /dev/stdin | base64 "$@"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "$@"
else
cat /dev/stdin | base64 -w 0 "$@"
fi
fi
使其可执行:
chmod a+x base64.sh
用法:
./base64.sh DSC_0251.JPG
cat DSC_0251.JPG | ./base64.sh
解码
让您恢复可读数据:
base64 -d DSC_0251.base64 > DSC_0251.JPG