在从 String.fromCharCode 创建的字符串中找不到
can't find in string created from String.fromCharCode
我正在尝试使用 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 在字符串中搜索一个词时,它总是 returns -1.
我想问题在于输出可能不是常规字符串,chrome 控制台进行了一些操作以将其显示为字符串。我想做的同样的操作。
我使用以下代码将 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();
我正在尝试使用 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 在字符串中搜索一个词时,它总是 returns -1.
我想问题在于输出可能不是常规字符串,chrome 控制台进行了一些操作以将其显示为字符串。我想做的同样的操作。
我使用以下代码将 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();