如何在 JXA 中查看 NSData 数组的内容?
How do I get to see the contents of a NSData array in JXA?
我需要对文件字节数组进行一些操作,据我所知,除非使用 ObjectiveC 桥接,否则我无法执行此操作。这是我现在所做的:
var filepath = file.toString();
ObjC.import('stdlib');
ObjC.import('Foundation');
var theFileData = $.NSData.dataWithContentsOfFile(filepath);
var fileSize = theFileData.length;
如果我尝试使用 $.malloc(filesize)
它会说函数未定义...我应该如何检查 theFileData
的内容?
我在 the answer I posted to your other question 中对此进行了深入探讨,因此请参阅它以了解更多详细信息。
但是给你:
function readBytes(filepath) {
const bytes = $.NSData.dataWithContentsOfFile(
$.NSString.stringWithString(filepath)
.stringByStandardizingPath);
const bytesPtr = bytes.bytes;
var bytesArr = [];
const numBytes = Number(bytes.length);
for (let i = 0; i < numBytes; i++) {
bytesArr.push(bytesPtr[i]);
}
return bytesArr;
}
我需要对文件字节数组进行一些操作,据我所知,除非使用 ObjectiveC 桥接,否则我无法执行此操作。这是我现在所做的:
var filepath = file.toString();
ObjC.import('stdlib');
ObjC.import('Foundation');
var theFileData = $.NSData.dataWithContentsOfFile(filepath);
var fileSize = theFileData.length;
如果我尝试使用 $.malloc(filesize)
它会说函数未定义...我应该如何检查 theFileData
的内容?
我在 the answer I posted to your other question 中对此进行了深入探讨,因此请参阅它以了解更多详细信息。
但是给你:
function readBytes(filepath) {
const bytes = $.NSData.dataWithContentsOfFile(
$.NSString.stringWithString(filepath)
.stringByStandardizingPath);
const bytesPtr = bytes.bytes;
var bytesArr = [];
const numBytes = Number(bytes.length);
for (let i = 0; i < numBytes; i++) {
bytesArr.push(bytesPtr[i]);
}
return bytesArr;
}