JS没有ASCII字符串,它们本质上是UTF-16。
在浏览器中,你运气不佳。如果你是在编写node.js,你就很幸运!
你可以使用缓冲区将字符串转换为八位字节,然后随意操纵二进制数据。但是一旦你乱搞了它,你就不会得到一个有效的字符串。
无论如何,你都需要阅读更多相关内容:
https://mathiasbynens.be/notes/javascript-encoding
或者在这里:
https://nodejs.org/api/buffer.html
编辑: 在评论中,您说您使用node.js,因此这是来自上面第二个链接的摘录。
const buf5 = Buffer.from('test');
// Creates a Buffer containing ASCII bytes [74, 65, 73, 74].
要在常见的ASCII字符串中创建嵌入SOH字符,请使用常见的转义序列
\x01
,如下所示:
const bufferWithSOH = Buffer.from("string with \x01 SOH", "ascii");
这应该可以解决问题。然后,您可以将bufferWithSOH
内容发送到输出流,例如网络、控制台或文件流。
Node.js文档会很好地指导您如何在Buffer
中使用字符串,只需查找上面的第二个链接即可。