Учитывая, что коды LZW не обязательно должны выходить за границы байтов, простое преобразование двоичного вывода сжатия LZW в строку UTF8 (как в подходе StreamReader
), скорее всего, приведет к ошибке, что приведет к неправильному выводу.
Кажется, что функция распаковки Javascript, на которую вы ссылаетесь, на самом деле принимает массив чисел в качестве входных данных.Вероятно, наиболее эффективный способ передачи двоичного вывода в метод распаковки javascript - это кодирование base64 двоичного вывода, затем декодирование base64 на конце JS в массив чисел и предоставление этого метода.
Это может иметь сомнительную эффективность.Стоит проверить перед развертыванием.