无法在String.fromCharCode

时间:2015-10-15 17:32:28

标签: javascript string indexof jszip

我尝试使用JSZip解析来自apk的AndroidManifest.xml
我有一个Uint8Array并使用以下代码将其转换为字符串:

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');

我尝试使用toLowerCase并删除所有空格。

我收到一个字符串,我可以在我的控制台中看到它的内容但是当我使用indexOf在字符串中搜索单词时,它总是返回-1。

我想问题是输出可能不是常规字符串,并且chrome控制台会进行一些操作以将其显示为字符串。我想做同样的操作。

1 个答案:

答案 0 :(得分:0)

我使用以下代码将Uint8Array转换为可搜索的字符串

// Reading to content to a searchable string
var packageNameArray = [];
var textArray = String(androidNonCompress).split(',');
for (var i = 0, len = textArray.length; i < len; i++) {
    if (textArray[i] !== 0) {
        packageNameArray.push(textArray[i]);
    }
}

var searchableText = String.fromCharCode.apply(null, packageNameArray).toString().toLowerCase();