Decode / кодирование base64 строку, чтобы получить узлы графа

голоса
0

Я пытаюсь создать небольшой инструмент для компьютерной игры, где одна функция должна вставить URL и декодировать его узлы из графа, которые в формате base64.

Вот пример:

Корень (ID: 54447): https://www.pathofexile.com/passive-skill-tree/AAAAAwMA

Корень с некоторыми активными узлами в графе: https://www.pathofexile.com/passive-skill-tree/AAAAAwMAGyVLrm0Z2VvfiukC

Результат должен быть [54447, 57226, 59650, 19374, 6949, 55643, 27929], я не знаю, если его заказали, но это те идентификаторы узлов, которые являются активными. Может быть, корень ID даже не в этом массиве (см код ниже).

Вы также можете проверить на официальном сайте, просто нажмите на некоторых узлах, URL-адрес будет меняться. После некоторых исследований я нашел следующий код, но не могу заставить его работать:

url = url.replace(/\-/g, +).replace(/\_/g, /); // also delete the part before the base64 string

// get nodes
var a = [];
        for (i = 6; i < url.length; i += 2) {
            var o = (255 & url[i]) << 8 | 255 & url[i + 1];
            a.push(o);
        }

// get root
var d = ((255 & url[0]) << 24 | (255 & url[1]) << 16 | (255 & url[2]) << 8 | (255 & url[3]) << 0, url[4]);

Я не знаю, что я должен делать со строкой, я должен преобразовать его в двоичные данные или что-то подобное, чтобы работать с указанным кодом?

Может кто-то пожалуйста, помогите мне понять, как я могу декодировать / кодировать эти строки? Я никогда не делал что-то с base64, так что я действительно потерял.

Спасибо.

Задан 17/10/2015 в 12:06
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more