В конечном итоге мне придется использовать некоторые данные из файла Javascript, который выглядит следующим образом:
Примечание: Base64 является только иллюстративным.
function GetTripsDataCompressed() { return 'QlpoOTFBWSZTWdXoWuEDCAgfgBAHf/.....=='; }
GetTripsDataCompressed()
возвращает строку base64 , полученную в виде массива объектов, преобразованных в JSON с использованием JSON.NET , а затем полученную строку сжимают в bzip2 с помощью SharpCompress срезультирующий поток памяти в кодировке Base64.
Это то, что у меня есть, и я не могу его изменить.
Я изо всех сил пытаюсь найти реализацию JavaScript bzip2, которая получит результат:
var rawBzip2Data = atob(GetTripsDataCompressed());
и преобразуйте rawBzip2Data обратно в строку, являющуюся массивом JSON.Я не могу использовать что-то вроде compressjs , так как мне нужно поддерживать IE 10, и поскольку он использует типизированные массивы , это означает, что поддержка IE10 прекращена.
Так что, похоже, мой лучшийопция https://github.com/antimatter15/bzip2.js однако, поскольку я не создал архив и только bzip2 строку, после этого возникает ошибка Uncaught No magic number found
:
var c = GetTripsDataCompressed();
c = atob(c);
var arr = new Uint8Array(c);
var bitstream = bzip2.array(arr);
bzip2.simple(bitstream);
Так что кто-нибудь может мне помочь здесь распаковатьBZip2, строка в кодировке Base64 из JavaScript с использованием сценария, совместимого с IE 10?В конечном счете, мне все равно, использует ли он https://github.com/antimatter15/bzip2.js или какую-либо другую нативную реализацию JavaScript.