写入文件时的编码问题

时间:2021-02-02 01:44:17

标签: node.js character-encoding

我尝试使用 Node.js 在文件中写入一个字符串,但结果不是我所期望的,我不明白出了什么问题:/

例如:

const fs = require('fs');

c = '€'
fs.writeFileSync("ascii.txt", c, {encoding: "ascii"});
fs.writeFileSync("utf8.txt", c, {encoding: "utf8"});

在本例中,我尝试在 the extended ascii table 中写入第 128 个字符。在 ascii 节点中写入 0xAC(172) 而不是 0x80(128)...对于 UTF-8,结果似乎没问题。 对于普通的 ascii 表字符(0 到 127),两种编码都可以。

是因为 ascii 编码不支持扩展 ascii 吗?在这种情况下,我应该使用什么来进行简单的字节到字节复制?

编辑:

<头>
ASCII 字符 节点写入 备注
128 172
129 129
130 26
131 146
132 30
133 38
134 32
135 33
136 198
137 48
138 96
139 57
140 82
141 141 不可打印
142 125
143 143 不可打印
144 144 不可打印
145 24

0 个答案:

没有答案