Como posso converter de hex para base64?

27

Alguém pode recomendar uma maneira simples / ferramenta para converter hex para base64?

Estou usando Linux e OS X.

Tom Duckering
fonte
Deseja converter Hex ou Binário em Base64? Scriptable ou este é um acordo único?
Chris S

Respostas:

50

Use xxd com o -rargumento (e possivelmente o -pargumento) para converter de hex para binários / octetos comuns e base64 para converter o formato binário / octeto em base64.

Para um arquivo:

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

Para uma sequência de números hexadecimais:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
Bretão
fonte
4

Bem, isso depende da formatação exata dos seus dados. Mas você pode fazer isso com um simples shell scripts:

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

Modifique conforme necessário, dependendo dos seus dados.

pehrs
fonte
3
Isso converterá a sequência de dígitos decimais. Não está claro se é isso que o OP deseja ou se ele tem dígitos hexadecimais e deseja que os bytes representados sejam convertidos em base64.
Pausado até novo aviso.
1

Bem, se seus dados hexadecimais são a visualização hexadecimal de um arquivo, basta anexá-lo a uma mensagem do Outlook ou Thunderbird e salve a mensagem em algum lugar. Em seguida, abra o arquivo com um editor de texto e veja o código B64 :)

Ele funciona no Windows, mas acho que é uma maneira universal, pois ao salvar como .EML, o anexo é codificado em B64.

kokbira
fonte