在 NodeJS 中将字符串从 utf8 转换为 latin1

ant*_*nus 5 encoding utf-8 latin1 node.js

我使用的是 Latin1 编码的数据库,无法将其更改为 UTF-8,这意味着我遇到了某些应用程序数据的问题。我正在使用 Tesseract 对文档进行 OCR(tesseract 以 UTF-8 编码)并尝试使用 iconv-lite;但是,它会创建一个缓冲区并将该缓冲区转换为字符串。但同样,缓冲区到字符串的转换不允许“latin1”编码。

我已经阅读了一堆问题/答案;然而,我得到的只是设置客户端编码和类似的东西。

有任何想法吗?

Ced*_*edX 5

从 Node.js v7.1.0 开始,您可以使用模块中的transcode函数bufferhttps : //nodejs.org/api/buffer.html#buffer_buffer_transcode_source_fromenc_toenc

例如:

const buffer = require('buffer');
const latin1Buffer = buffer.transcode(Buffer.from(utf8String), "utf8", "latin1");
const latin1String = latin1Buffer.toString("latin1");
Run Code Online (Sandbox Code Playgroud)