Я пытаюсь создать плагин для игры, которая не имеет официальной поддержки пользовательского контента. Цель состоит в том, чтобы декодировать файл, который используется для передачи контента с одного сервера на другой, чтобы я мог его редактировать.
Данные в этом кластерном файле, которые я пытаюсь изменить, кодируются и хранятся в виде массива чисел. Я могу декодировать некоторые из них с помощью String.fromCharCode (), но он все еще недостаточно читабелен для человека, чтобы его можно было точно изменить.
Блок ниже - это то, что я сейчас пытаюсь использовать для декодирования массива. Я ограничил число цифрами от 1 до 127, потому что некоторые символы не распознаются, и их сложно вставить в этот пост.
let text = '';
mysteryNumbers.forEach(code => {
if (code >= 1 && code <= 127) {
text += String.fromCharCode(code);
}else{
text += code;
}
});
console.log(text);
Примечание: я включаю около 10% массива, чтобы сохранить размер для этого поста. Первый блок - это массив целых чисел, которые я хочу декодировать. Второй блок - это попытка декодирования целых чисел до их предполагаемого символа с использованием вышеуказанной функции.
[62, -108, 18, 72, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 0, 0, 0, 0, -94, -75, 66, 71, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 1, 0, 0, 0, -103, 123, 58, 69, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, -64, -58, 68, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 4, 0, 0, 0, 123, -4, 75, 70, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, -56, 66, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, -92, 65, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 8, 0, 0, 0, 2, -106, -48, 64, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 9, 0, 0, 0, -102, -103, -23, 63, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 67, 117, 114, 114, 101, 110, 116, 83, 116, 97, 116, 117, 115, 86, 97, 108, 117, 101, 115, 0, 14, 0, 0, 0, 70, 108, 111, 97, 116, 80, 114, 111, 112, 101, 114, 116, 121, 0, 4, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 78, 111, 110, 101, 0, 0, 0, 0, 0, 5, 0, 0, 0, 78, 111, 110, 101, 0, 0, 0, 0, 0]
>-108H000CurrentStatusValues0000FloatProperty00000000-94-75BG000CurrentStatusValues0000FloatProperty0000000-103{:E000CurrentStatusValues0000FloatProperty00000000000000CurrentStatusValues0000FloatProperty00000000-64-58D000CurrentStatusValues0000FloatProperty0000000{-4KF000CurrentStatusValues0000FloatProperty000000000-56B000CurrentStatusValues0000FloatProperty00000000000000CurrentStatusValues0000FloatProperty000000000-92A000CurrentStatusValues0000FloatProperty0000000-106-48@000CurrentStatusValues0000FloatProperty0000 000-102-103-23?000CurrentStatusValues0000FloatProperty0000
0000000000CurrentStatusValues0000FloatProperty00000000000000None00000000None00000