¿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.


¿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

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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.