Jak mogę przekonwertować z hexa na base64?

27

Czy ktoś może polecić prosty sposób / narzędzie do konwersji heksów na base64?

Używam Linuxa i OS X.

Tom Duckering
źródło
Chcesz przekonwertować Hex lub Binary na Base64? Skryptowalne czy to jednorazowa umowa?
Chris S

Odpowiedzi:

50

Użyj xxd z -rargumentem (i ewentualnie -pargumentem), aby przekonwertować z szesnastkowego na zwykły plik binarny / oktety i base64, aby przekonwertować formę binarną / oktetową na base64.

Dla pliku:

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

Dla ciągu liczb szesnastkowych:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
Bretoński
źródło
4

Zależy to od dokładnego formatowania danych. Ale możesz to zrobić za pomocą prostych skryptów powłoki:

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

W razie potrzeby zmodyfikuj w zależności od danych.

pehrs
źródło
3
Spowoduje to konwersję ciągu cyfr dziesiętnych. Nie jest jasne, czy tego chce OP, czy też ma cyfry szesnastkowe i chce, aby bajty, które reprezentują, zostały przekonwertowane na base64.
Wstrzymano do odwołania.
1

Cóż, jeśli twoje dane szesnastkowe są widokiem szesnastkowym pliku, po prostu dołącz plik do wiadomości programu Outlook lub Thunderbird, a następnie zapisz gdzieś wiadomość. Następnie otwórz plik za pomocą edytora tekstu i zobacz kod B64 :)

Działa w systemie Windows, ale myślę, że jest to uniwersalny sposób, ponieważ zapisywanie jako .EML załącznik jest kodowane do B64.

kokbira
źródło