Я работаю над небольшой задачей, для которой требуется некоторая кодировка base64. Я пытаюсь сделать это в голове, но теряюсь.цифры длиной до base64 символов
У меня есть 13-значный номер в Java длинном формате сказать: 1294705313608, 1294705313594, 1294705313573
Я некоторую обработку с ним, Bascially я беру этот номер добавить его с вещами поместить его в массив байтов, а затем преобразовать это base64 с помощью:
String b64String = new sun.misc.BASE64Encoder().encodeBuffer(bArray);
Теперь я знаю, что для исходного числа, первые 3 цифры никогда не изменится. Таким образом, 129 является постоянным в числах выше. Я хочу узнать, сколько символов, соответствующих этим цифрам, не изменилось бы в итоговой строке base64.
Код для сериализации длинного массива байтов. Я игнорирую первые 2 байта, так как они всегда равны 0:
bArray [0] = (байт) (время >>> 40);
bArray [1] = (байт) (время >>> 32);
bArray [2] = (байт) (время >>> 24);
bArray [3] = (байт) (время >>> 16);
bArray [4] = (байт) (время >>> 8);
bArray [5] = (байт) (время >>> 0);
Спасибо.
Примечания: Я знаю, что base64 займет 6 бит и сделает из него один символ. Итак, если первые 3 цифры не изменяются долго, сколько символов не изменится в base64. Это НЕ назначение HW, но я не очень хорошо разбираюсь в кодировании.
Я думаю, что это домашнее задание, но не помечено так. –
Можете ли вы опубликовать код, который вы используете для сериализации длинного массива байтов с другим «материалом»? – dkarp
@dkarp: Я опубликовал код. – codeObserver