Pokud potřebujete vstup z terminálu, zkuste toto
lc=`echo -n "xxx_${yyy}_iOS" | base64`
-n volba nevloží znak "\n" do příkazu base64.
Existuje na to linuxový příkaz:base64
base64 DSC_0251.JPG >DSC_0251.b64
Chcete-li přiřadit výsledek k proměnné, použijte
test=`base64 DSC_0251.JPG`
Kódovat
V systému Linux
Výsledek s jedním řádkem:
base64 -w 0 DSC_0251.JPG
Pro HTML :
echo "data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
Jako soubor:
base64 -w 0 DSC_0251.JPG > DSC_0251.JPG.base64
V proměnné:
IMAGE_BASE64="$(base64 -w 0 DSC_0251.JPG)"
V proměnné pro HTML :
IMAGE_BASE64="data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
V systému OSX
V systému OSX , base64 binární je jiný a parametry jsou jiné. Pokud jej chcete používat v systému OSX , měli byste odstranit -w 0 .
Výsledek s jedním řádkem:
base64 DSC_0251.JPG
Pro HTML :
echo "data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
Jako soubor:
base64 DSC_0251.JPG > DSC_0251.JPG.base64
V proměnné:
IMAGE_BASE64="$(base64 DSC_0251.JPG)"
V proměnné pro HTML :
IMAGE_BASE64="data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
Generický OSX/Linux
Jako funkci Shell
@base64() {
if [[ "${OSTYPE}" = darwin* ]]; then
# OSX
if [ -t 0 ]; then
base64 "example@unixlinux.online"
else
cat /dev/stdin | base64 "example@unixlinux.online"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "example@unixlinux.online"
else
cat /dev/stdin | base64 -w 0 "example@unixlinux.online"
fi
fi
}
# Usage
@base64 DSC_0251.JPG
cat DSC_0251.JPG | @base64
Jako skript Shell
Vytvořte base64.sh soubor s následujícím obsahem:
#!/usr/bin/env bash
if [[ "${OSTYPE}" = darwin* ]]; then
# OSX
if [ -t 0 ]; then
base64 "example@unixlinux.online"
else
cat /dev/stdin | base64 "example@unixlinux.online"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "example@unixlinux.online"
else
cat /dev/stdin | base64 -w 0 "example@unixlinux.online"
fi
fi
Udělejte jej spustitelným:
chmod a+x base64.sh
Použití:
./base64.sh DSC_0251.JPG
cat DSC_0251.JPG | ./base64.sh
Dekódovat
Získejte zpět čitelná data:
base64 -d DSC_0251.base64 > DSC_0251.JPG
Musíte použít cat získat obsah souboru s názvem 'DSC_0251.JPG', nikoli samotného souboru.
test="$(cat DSC_0251.JPG | base64)"
Nicméně base64 může číst ze samotného souboru:
test=$( base64 DSC_0251.JPG )