GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo codificar la imagen en base64 en linux bash / shell

Si necesita información de termial, intente esto

lc=`echo -n "xxx_${yyy}_iOS" |  base64`

-n la opción no ingresará el carácter "\n" en el comando base64.


Hay un comando de Linux para eso:base64

base64 DSC_0251.JPG >DSC_0251.b64

Para asignar resultado a uso variable

test=`base64 DSC_0251.JPG`

Codificar

En Linux

Resultado de una sola línea:

base64 -w 0 DSC_0251.JPG

Para HTML :

echo "data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"

Como archivo:

base64 -w 0 DSC_0251.JPG > DSC_0251.JPG.base64

En variable:

IMAGE_BASE64="$(base64 -w 0 DSC_0251.JPG)"

En variable para HTML :

IMAGE_BASE64="data:image/jpeg;base64,$(base64 -w 0 DSC_0251.JPG)"

En OSX

En OSX , el base64 binario es diferente, y los parámetros son diferentes. Si quieres usarlo en OSX , debe eliminar -w 0 .

Resultado de una sola línea:

base64 DSC_0251.JPG

Para HTML :

echo "data:image/jpeg;base64,$(base64 DSC_0251.JPG)"

Como archivo:

base64 DSC_0251.JPG > DSC_0251.JPG.base64

En variable:

IMAGE_BASE64="$(base64 DSC_0251.JPG)"

En variable para HTML :

IMAGE_BASE64="data:image/jpeg;base64,$(base64 DSC_0251.JPG)"

OSX/Linux genérico

Como función de 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

Como script de shell

Crear base64.sh archivo con el siguiente contenido:

#!/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

Hazlo ejecutable:

chmod a+x base64.sh

Uso:

./base64.sh DSC_0251.JPG
cat DSC_0251.JPG | ./base64.sh

Decodificar

Recupere sus datos legibles:

base64 -d DSC_0251.base64 > DSC_0251.JPG 

Necesitas usar cat para obtener los contenidos del archivo llamado 'DSC_0251.JPG', en lugar del nombre del archivo en sí.

test="$(cat DSC_0251.JPG | base64)"

Sin embargo, base64 puede leer desde el propio archivo:

test=$( base64 DSC_0251.JPG )

Linux
  1. Cómo borrar el historial de Bash en Linux

  2. Cómo ver metadatos de imágenes en Linux

  3. ¿Cómo acortar el indicador de Bash en Linux?

  4. ¿Cómo cambiar Cron Shell (sh a Bash)?

  5. Cómo BASH Shell carga sus archivos de configuración en Linux

Cómo usar el comando Declare en Linux Bash Shell

Cómo instalar Linux Bash Shell en Windows 10

Cómo cambiar un Shell de usuario en Linux

Cómo instalar y usar Nu Shell en Linux

Bash Scripting:cómo generar y formatear texto en Linux Shell

¿Cómo usar Linux Bash Shell dentro de Windows 10?