Javascript unicode 到 ASCII

标签 javascript node.js ascii

需要将SOH值'\u0001'的unicode转成Ascii。为什么这不起作用?

var soh = String.fromCharCode(01);
它返回 '\u0001'
或者当我尝试时

var soh = '\u0001' 它返回一个笑脸。
我怎样才能让unicode成为正确的SOH值(一个空白的不可打印字符)

最佳答案

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 中使用字符串,只需查看上面的第二个链接即可。

关于Javascript unicode 到 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38577478/

相关文章:

Javascript正则表达式可选字符

node.js - MongoDB 更新/插入文档并递增匹配的数组元素

python - 如何将非 ASCII 字符编码的文件重命名为 ASCII

Python Caesar cipher ascii 添加空格

ascii - 如何使用 Java 解压 COMP-3 数字?

javascript - jQuery : get the name of a specific folder

javascript 计时器在给定条件时返回 NaN

javascript - FlatList 不会在 React-Native 中渲染任何文本

node.js - 无法让 Next.js 应用程序在 Azure 应用服务上运行

node.js - three.js 作为 node.js 上的模块