我正试图抓一些日本网站进行个人项目。具有UTF-8文本的网站完全正常,正如您所期望的那样,但我无法从指定其他国际编码的网站中获取任何文本,特别是EUC-JP。节点似乎也在解释文本并执行修改而不是将其传递给raw - 我已经尝试将响应设置为ascii和binary,然后将我的终端应用程序设置为EUC-JP,但是在执行了{ {1}},既不会产生实际文字。
我已经对Node文档进行了扫描,它似乎只支持两种主要的文本编码(除了binary和base64之外)。
我正在使用内置的http客户端,并通过console.log()
方法指定编码,例如response.setEncoding
其他人如何使用Node中的国际文本(特别是关于原始数据不是UTF-8的情况?)二进制缓冲区是唯一的方式吗?
虽然我做了一些研究,但在字符编码方面我并不是很了解,所以简单的答案将会受到赞赏。谢谢!
答案 0 :(得分:2)
有一个模块添加了iconv bindings to node.js。如果您将响应作为二进制Buffer
获取,则可以使用Iconv.convert
将其从EUC-JP转换为UTF-8(例如,请查看README)。 / p>