我在 JavaScript 中有一个 TypedArray 字节,我需要将其转换为二进制,以便使用chrome.usb.controlTransfer
.
简化示例:
var message = new Uint8Array(3);
message[0] = 1;
message[1] = 2;
message[3] = 3;
var transferInfo = {
direction: 'out',
recipient: 'device',
requestType: 'standard',
request: 0,
value: 0,
index: 0,
data: message
};
// 'device' is a valid handle to a device found with chrome.usb.findDevices
chrome.usb.controlTransfer(device, transferInfo, function(r) { console.log(r); });
这给了我错误:
未捕获的错误:参数 2 的值无效。属性“数据”:预期为“二进制”但得到“对象”。
我不确定如何从Uint8Array
JavaScript 中被认为是“二进制”的任何内容中获取。这可能是 chrome 特有的,但我也找不到任何以这种方式调用此函数的示例。
我看过Mozilla 文档,但这似乎是特定于通过 XMLHttpRequest 发送数据的。