gpt4 book ai didi

node.js - Express/Multer 在 ucs2 时检测文本文件的 7 位编码。它们是同义词吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:06:50 26 4
gpt4 key购买 nike

在 node.js 应用程序中,我收到上传的文本文件,其中包含 Multer 中间件。这是一个有效的 ucs2 编码文件。当我尝试读取它时,我得到了一个不可读的字符串,其中包含 buffer.toString()。它确实通过 buffer.toString('ucs2') 获得了正确的输出。但是 Multer 给出的编码是 req.file.encoding === '7bit'

我的问题是:我能否在“7bit”和“ucs2”之间建立直接关系,所以每当我从 Multer 获得“7bit”时,我都可以执行 buffer.toString(' ucs2')?或者它也可能意味着其他编码?在后一种情况下,我如何才能确保获得文本文件的正确内容?

部分代码如下:

var getFile = function(req, res, next) {
var encoding = req.file.encoding;
fs.readFile(req.file.path, function (err, buffer) {
var data = buffer.toString(encoding);
}
}

确切的代码在这里不起作用,因为 encoding 给出“7bit”,toString 无法理解。

谢谢。

最佳答案

没有“检测”,encoding 值仅仅是客户端作为字段/文件的Content-Transfer-Encoding 传递的值(如果有的话)。在大多数情况下,这个值可以忽略,因为它没有真正被使用(不再)。您应该改为根据 MIME 类型确定内容编码。

关于node.js - Express/Multer 在 ucs2 时检测文本文件的 7 位编码。它们是同义词吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33962088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com