Я знаю, что это довольно глупый вопрос, но я не знаю, что делать.
У меня есть произвольное двоичное число, скажем,
1001000000110010000000100100000010000011000000010001000001011000110000110000011100011100000011000000010010011000100000000000000100100000010110001100001000000111
Я хочу преобразовать его в Base 64 с помощью PHP - и каждый способ, который я пробую, дает мне другой результат. Даже разные онлайн-конвертеры конвертируют его по-разному:
http://home2.paulschou.net/tools/xlate/
http://convertxy.com/index.php/numberbases/
PHP base_convert работает только до base36, а base64_encode ожидает строку.
Что мне делать?
ОБНОВЛЕНИЕ : Я реализовал функции решения, предложенные @ binaryLV , и он работал хорошо.
Однако я сравнил результаты со встроенным в PHP base_convert . Оказалось, что base_convert to base36 возвращает более короткие значения, чем пользовательская функция base64! (И да, я добавлял «1» ко всем двоичным числам, чтобы гарантировать, что начальные нули не потеряны).
Я также заметил, что base_convert довольно неточно с большими числами. Так что мне нужна функция, которая работает как base_convert, но точно и, желательно, до base 64.