Почему base64-кодирование моего файла на Mac не приводит к правильной строке base64? - PullRequest
0 голосов
/ 31 мая 2018

Я использую Mac OS 10.13.3.Я пытаюсь закодировать двоичный файл в base64, но у меня возникли некоторые проблемы.В частности, я думал, что все файлы в кодировке base64 должны иметь длину, кратную 4. Однако, когда я кодирую свой файл, обратите внимание, что длина не делится на 4 ...

localhost:lib davea$ openssl base64 -in myfile.binary -out ~/Downloads/myfile.base64
localhost:lib davea$ ls -al ~/Downloads/myfile.base64 
-rw-r--r-- 1 davea staff 93162 May 31 14:22 /Users/davea/Downloads/myfile.base64

Такжекогда я смотрю на содержимое файла base64, я не вижу традиционного "=" или "==" в конце, который обычно указывает на заполнение

localhost:lib davea$ cat ~/Downloads/myfile.base64
...
C9vgMjoKSQYkXMLTrGKRleR558g3bY3VTqlsVvTqZXquCLp4JS4cprTG6N10H0u9
i4pwPrVmSAP2DmE1V7mGwR2e4fiYEWnZjpSbHofpzlUo34yhiQ2/5kJoQZktD7BU
uxYBAgQIECBAgBs2

Я делаю что-то неправильно илиЕсть ли другой способ base64 кодировать мой файл?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

OK.Я полагаю, что мы перестали думать об этом совсем немного.Вот что вы ищете, чтобы получить желаемое поведение:

openssl base64 -A -in myfile.binary -out ~/Downloads/myfile.base64

Это преобразует в base64 без каких-либо окончаний строки.Опция -A - вот что делает трюк.

0 голосов
/ 31 мая 2018

Я что-то не так делаю,

Нет

или есть другой способ кодирования base64 моего файла?

Да, вы можете использовать base64.Требуется параметр для указания длины строки, но в остальном он аналогичен, эквивалент вашей команды:

base64 -b 64 -i myfile.binary -o ~/Downloads/myfile.base64

Кроме того, когда я смотрю на содержимое файла base64, я не вижутрадиционный "=" или "==" в конце, который обычно указывает заполнение

Base64 отображает 3 входных байта в 4 выходных байта.Ваш файл имеет размер 93162 байта, который делится на 3, поэтому заполнение не требуется.

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...