Я пытаюсь разобрать AndroidManifest.xml
из APK с помощью JSZip,
я получил Uint8Array и преобразовать его в строку, используя следующий код:не может найти в строке, созданной из String.fromCharCode
var zip = new JSZip(fileBlobAsByteArray);
var androidCompress = zip.files["AndroidManifest.xml"];
var androidNonCompress = androidCompress._data.getContent();
var androidText = String.fromCharCode.apply(null, androidNonCompress);
var packageName = androidText.toLowerCase().replace(/ /g,'').indexOf('package');
I попытался использовать toLowerCase и удалить все пробелы.
Я получаю строку, которую я вижу в контенте, но когда я ищу слово внутри строки, используя indexOf, он всегда возвращает -1.
Я думаю, проблема заключается в том, что выход, вероятно, не является обычной строкой, а консоль хром выполняет некоторые манипуляции, чтобы представить ее как строку. те же манипуляции, которые я хочу сделать.
вы имеете в виду использовать androidText.toLowerCawse.replace? или вы хотите toLowerCase(). replace –
@JohnBoker Я отредактировал вопрос –
Это не разрешимо, если строка содержит 'package', метод' indexOf' должен работать, и поскольку мы понятия не имеем, как выглядит строка , нет способа ответить на это? – adeneo