Ну, что-то похоже , да ... парсит шестнадцатеричные символы как двоичное значение, а затем преобразует в base64.При этом используется немного бит больше, чем 0-9 аз. Аз., Но только на несколько символов.Вы можете использовать три других символа в дополнение к этим 62?Вы можете использовать base64_encode
для выполнения кодирования, если это так.
(Вместо этого вы можете конвертировать в base32, но это не будет так компактно. Преобразование в базы, которые не являются степенями2 также возможно, но менее привлекательно.)
Вам также понадобится какой-то способ представления конечного полубайта, если ваша входная последовательность содержит нечетное количество символов.Возможно, вы захотите подумать об этом, прежде чем позвонить pack
, чтобы выполнить первоначальный анализ ...