我无法理解node.js中的字符编码。我正在传输数据,出于某种原因,编码会导致某些字符被其他字符替换。我正在做的是在客户端进行base64编码并在node.js中对其进行解码。Node.js缓冲区编码问题
为了简化,我将范围缩小到这段代码失败:
new Buffer("1w==", 'base64').toString('utf8');
的1w==
是×
字符的基64编码。现在,当将这个字符串与'base64'
参数传递给一个缓冲区,然后做.toString('utf8')
我希望得到相同的字符,但我没有。相反,我得到了�
(字符代码65533
)。
编码utf8
错?如果是这样,我应该用什么来代替?如果不是,我如何解码node.js中的base 64字符串?
我将编码从'utf8'改为'binary',它只使用单个字节。文档说这是一个弃用的功能,但现在它的工作。谢谢。 – pimvdb