在 JavaScript 中将字节数组转换为二进制

Convert Byte array to Binary in JavaScript

本文关键字:数组 转换 二进制 字节数 字节 JavaScript      更新时间:2023-09-26

我在 JavaScript 中有一个字节数组,我需要将其转换为二进制,以便使用 chrome.usb.controlTransfer 发送到 Chrome 扩展程序中的 USB 设备。

简化示例:

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发送数据。

看来我错过了Chrome文档中的示例。

var message = new Uint8Array(3);
message[0] = 1;
message[1] = 2;
message[3] = 3;
var binaryMessage = message.buffer;