Comment puis-je convertir de hex en base64?

27

Quelqu'un peut-il recommander un moyen / outil simple pour convertir un hex en base64?

J'utilise Linux et OS X.

Tom Duckering
la source
Vous souhaitez convertir Hex ou Binaire en Base64? Scriptable ou s'agit-il d'un accord unique?
Chris S

Réponses:

50

À utiliser xxd avec l' -rargument (et éventuellement l' -pargument) pour convertir de hex en binaire / octets simples et base64 pour convertir la forme binaire / octet en base64.

Pour un fichier:

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

Pour une chaîne de nombres hexadécimaux:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
Breton
la source
4

Eh bien, cela dépend de la mise en forme exacte de vos données. Mais vous pouvez le faire avec un simple script shell:

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

Modifiez au besoin en fonction de vos données.

pehrs
la source
3
Cela convertira la chaîne de chiffres décimaux. Il n'est pas clair si c'est ce que l'OP veut ou s'il a des chiffres hexadécimaux et veut que les octets qu'ils représentent soient convertis en base64.
pause jusqu'à nouvel ordre.
1

Eh bien, si vos données hexadécimales sont la vue hexadécimale d'un fichier, joignez simplement le fichier à un message Outlook ou Thunderbird, puis enregistrez le message quelque part. Ouvrez ensuite le fichier avec un éditeur de texte et voyez le code B64 :)

Il fonctionne sous Windows, mais je pense que c'est un moyen universel car en enregistrant au format .EML, la pièce jointe est codée en B64.

kokbira
la source