¿Cómo puedo convertir de hexadecimal a base64?

27

¿Alguien puede recomendar una forma / herramienta sencilla para convertir hexadecimal a base64?

Estoy usando Linux y OS X.

Tom Duckering
fuente
¿Quieres convertir Hex o Binary a Base64? Scriptable o es un trato único?
Chris S

Respuestas:

50

Use xxd con el -rargumento (y posiblemente el -pargumento) para convertir de hexadecimal a binarios / octetos simples y base64 para convertir la forma binaria / octeto a base64.

Para un archivo:

cat file.dat | xxd -r -p | base64

Para una cadena de números hexadecimales:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
Bretón
fuente
4

Bueno, depende del formato exacto de sus datos. Pero puedes hacerlo con un simple script de shell:

 echo "obase=10; ibase=16; `cat in.dat`" | bc | base64 > out.dat

Modifique según sea necesario según sus datos.

pehrs
fuente
3
Eso convertirá la cadena de dígitos decimales. No está claro si esto es lo que quiere el OP o si tiene dígitos hexadecimales y quiere que los bytes que representan se conviertan en base64.
Pausado hasta nuevo aviso.
1

Bueno, si sus datos hexadecimales son la vista hexadecimal de un archivo, simplemente adjunte el archivo a un mensaje de Outlook o Thunderbird y luego guarde el mensaje en algún lugar. Luego abra el archivo con un editor de texto y vea el código B64 :)

Funciona en Windows, pero creo que es una forma universal ya que guardar como .EML el archivo adjunto está codificado en B64.

kokbira
fuente