Трансформация больших массивов данных в base64 для загрузки в API:

Зачем это нужно ? Cпецсимволы и русскоязычный текст для       
загрузки в API нужно преобразовывать, ибо API воспринимает ток UTF-8

function unPack(a) {
        return LZString.decompressFromUTF16(decodeURIComponent(escape(atob(a))));
    }
    function Pack(a) {
        return btoa(unescape(encodeURIComponent(LZString.compressToUTF16(a))));
    }

Тест:

Код:
<script type="text/javascript">
var a = "Здравствуйте! Нужна помощь, я не знаю как сделать так, что-бы поставить 1 фотографию всем пользователям сразу после регистрации их. А потом они уже сами меняли.";
function unPack(a) {
        return LZString.decompressFromUTF16(decodeURIComponent(escape(atob(a))));
    }
    function Pack(a) {
        return btoa(unescape(encodeURIComponent(LZString.compressToUTF16(a))));
    }
    var Упаковано = Pack(a);
    var Распаковано = unPack(Упаковано)
alert(Упаковано+'\n=======================\n'+Распаковано)
</script>

Оптимально использовать для объёмов от 30кб и выше... для более мелких объёмов  строка после упаковки превышает исходную(ну то есть лучше упаковывать весь массив(объект) для одного ключа(тогда начальный объём без разницы)...

Отредактировано Deff (Пн, 17 Май 2021 15:00:56)