31

Can anyone recommend a straightforward way/tool to convert hex to base64?

I'm using Linux and OS X.

  • You want to convert Hex or Binary to Base64? Scriptable or is this a one-shot deal? – Chris S Jun 29 '10 at 14:17
56

Use xxd with the -r argument (and possibly the -p argument) to convert from hex to plain binary/octets and base64 to convert the binary/octet form to base64.

For a file:

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

For a string of hex numbers:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
| improve this answer | |
  • To prove that this is correct, you can perform the reverse operation and verify that the output of the reverse operation matches the input you provided to the above command. Eg. echo -n $UUID | sed 's/-//g' | xxd -r -p | base64 | base64 --decode | xxd -u | cut -d ' ' -f 2-9 | sed 's/ //g' – Gurjeet Singh May 1 at 0:01
3

Well, it depends on the exact formatting of your data. But you can do it with a simple shell scripts:

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

Modify as needed depending on your data.

| improve this answer | |
  • 4
    That will convert the string of decimal digits. It's not clear if this is what the OP wants or if he has hex digits and wants the bytes they represent converted to base64. – Paused until further notice. Jun 29 '10 at 14:21
0

Well, if your hex data is the hex view of a file, just attach the file to a outlook or thunderbird message and then save the message to somewhere. Then open the file with a text editor and see B64 code :)

It functions on Windows, but I think it is a universal way since saving as .EML the attachment is encoded to B64.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.