Jika Anda memerlukan masukan dari terminal, coba ini
lc=`echo -n "xxx_${yyy}_iOS" | base64`
-n
opsi tidak akan memasukkan karakter "\n" ke perintah base64.
Ada perintah Linux untuk itu:base64
base64 DSC_0251.JPG >DSC_0251.b64
Untuk menetapkan hasil ke penggunaan variabel
test=`base64 DSC_0251.JPG`
Enkode
Di Linux
Hasil baris tunggal:
base64 -w 0 DSC_0251.JPG
Untuk HTML
:
echo "data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
Sebagai berkas:
base64 -w 0 DSC_0251.JPG > DSC_0251.JPG.base64
Dalam variabel:
IMAGE_BASE64="$(base64 -w 0 DSC_0251.JPG)"
Dalam variabel untuk HTML
:
IMAGE_BASE64="data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"
Di OSX
Di OSX , base64
biner berbeda, dan parameternya berbeda. Jika Anda ingin menggunakannya di OSX , Anda harus menghapus -w 0
.
Hasil baris tunggal:
base64 DSC_0251.JPG
Untuk HTML
:
echo "data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
Sebagai berkas:
base64 DSC_0251.JPG > DSC_0251.JPG.base64
Dalam variabel:
IMAGE_BASE64="$(base64 DSC_0251.JPG)"
Dalam variabel untuk HTML
:
IMAGE_BASE64="data:image/jpeg;base64,$(base64 DSC_0251.JPG)"
OSX/Linux umum
Sebagai Fungsi 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
Sebagai Skrip Shell
Buat base64.sh
file dengan konten berikut:
#!/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
Jadikan itu dapat dieksekusi:
chmod a+x base64.sh
Penggunaan:
./base64.sh DSC_0251.JPG
cat DSC_0251.JPG | ./base64.sh
Dekode
Dapatkan kembali data yang dapat Anda baca:
base64 -d DSC_0251.base64 > DSC_0251.JPG
Anda perlu menggunakan cat
untuk mendapatkan konten dari file bernama 'DSC_0251.JPG', bukan nama file itu sendiri.
test="$(cat DSC_0251.JPG | base64)"
Namun, base64
dapat membaca dari file itu sendiri:
test=$( base64 DSC_0251.JPG )