node.js - 如何在 Node.js 中将字符串转换为字节数组?
问题描述
为了告诉 NetworkManager 使用 Node.js 和node-dbus库在 D-Bus 上创建一个 Wi-Fi 接入点,我需要提供一个 SSID 作为字节数组。由于 Node.js 没有来自客户端 JavaScript 的 Blob 类,我的理解是我需要为此使用 Buffer ,但它不起作用。
我可以使用以下代码成功地将字节数组转换为字符串:
let bytes = new Uint8Array(ssidBytes);
let string = new TextDecoder().decode(bytes);
如何反转它以从字符串中获取字节数组?
我试过了:
let ssidBytes = Buffer.from(ssid);
我试过了:
let ssidBytes = [];
for (let i = 0; i < ssid.length; ++i) {
ssidBytes.push(ssid.charCodeAt(i));
}
假设我的代码(或我正在使用的库)中没有另一个错误,这些似乎都没有达到预期的效果。
有关更多背景信息,请参阅https://github.com/Shouqun/node-dbus/issues/228和https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/663
谢谢
解决方案
执行相同操作的更紧凑的解决方案:
const ssid = 'my-ap';
const ssidByteArray = Array.from(Buffer.from(ssid));
推荐阅读
- regex - 使用负正则表达式模式拆分字符串
- javascript - 如何使用 React Native Navigation 从 FlatList 组件导航到扩展组件
- sql - 不匹配查询未返回预期结果
- python - 删除列表python中的列表
- r - 在欧拉图中绘制带有分割法线和斜体面的标签 (euler)
- python - TypeError:“tensorflow.python.framework.ops.EagerTensor”对象不支持项目分配
- r - 无数据时自动切割x轴
- javascript - 如何在 Nextjs 中使用 Firestore 模拟器
- sql - Oracle SQL DB select muti join error join error - ORA-00933: SQL command not properly ended
- c# - c# 不能从'IInterface 强制转换
' to 'IInterface - 将没有泛型的类转换为具有泛型的接口