Как я могу конвертировать из hex в base64?

27

Кто-нибудь может порекомендовать простой способ / инструмент для преобразования hex в base64?

Я использую Linux и OS X.

Том Дакеринг
источник
Вы хотите конвертировать Hex или Binary в Base64? Сценарий или это сделка с одним выстрелом?
Крис С

Ответы:

50

Используйте xxd с -rаргументом (и, возможно, -pаргументом) для преобразования из шестнадцатеричной формы в обычный двоичный файл / октеты и base64 для преобразования двоичной формы / октета в base64.

Для файла:

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

Для строки шестнадцатеричных чисел:

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64
бретонский
источник
4

Ну, это зависит от точного форматирования ваших данных. Но вы можете сделать это с помощью простых сценариев оболочки:

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

Изменить по мере необходимости в зависимости от ваших данных.

pehrs
источник
3
Это преобразует строку десятичных цифр. Непонятно, хочет ли это ОП или он имеет шестнадцатеричные цифры и хочет, чтобы байты, которые они представляют, были преобразованы в base64.
Приостановлено до дальнейшего уведомления.
1

Хорошо, если ваши шестнадцатеричные данные - это шестнадцатеричное представление файла, просто прикрепите файл к сообщению outlook или thunderbird, а затем сохраните сообщение где-нибудь. Затем откройте файл в текстовом редакторе и увидите код B64 :)

Он работает в Windows, но я думаю, что это универсальный способ, поскольку при сохранении в формате .EML вложение кодируется в B64.

kokbira
источник