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 "[email protected]"
else
cat /dev/stdin | base64 "[email protected]"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "[email protected]"
else
cat /dev/stdin | base64 -w 0 "[email protected]"
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 "[email protected]"
else
cat /dev/stdin | base64 "[email protected]"
fi
else
# Linux
if [ -t 0 ]; then
base64 -w 0 "[email protected]"
else
cat /dev/stdin | base64 -w 0 "[email protected]"
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 )