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

20431
Tom Duckering

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

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

22
Вы хотите конвертировать Hex или Binary в Base64? Сценарий или это сделка с одним выстрелом? Chris S 13 лет назад 0

3 ответа на вопрос

38
Breton

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

Для файла:

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

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

echo "6F0AD0BFEE7D4B478AFED096E03CD80A" | xxd -r -p | base64 
3
pehrs

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

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

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

Это преобразует строку десятичных цифр. Непонятно, хочет ли это OP, или он имеет шестнадцатеричные цифры и хочет, чтобы байты, которые они представляют, были преобразованы в base64. Dennis Williamson 13 лет назад 3
1
kokbira

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

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

Похожие вопросы