gpt4 book ai didi

node.js - Node 二进制Buffer.toString(),转换回Buffer

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:16 25 4
gpt4 key购买 nike

我正在使用一个小的库节点搜寻器(https://github.com/sylvinus/node-crawler),它也可以下载二进制文件。问题是它确实将响应的Buffer转换为此行https://github.com/sylvinus/node-crawler/blob/6822559cd2b49aa69e39ff07d61ca92b76fe03ca/lib/crawler.js#L434中的字符串

response.body = response.body.toString(); //response.body was a Buffer


我进入他们的回调 response对象,并尝试将其转换回具有正确值的Buffer。

原始(在对其调用.toString()之前)

<Buffer ff d8 ff e1 00 18 45 78 69 66 00 00 49 49 2a 00 08 00 00 00 00 00 00 00 00 00 00 00 ff ec 00 11 44 75 63 6b 79 00 01 00 04 00 00 00 4b 00 00 ff e1 03 ... >


我尝试用以下方法“解码”它,但没有运气:

Buffer(response.body, 'binary')

<Buffer fd fd fd fd 00 18 45 78 69 66 00 00 49 49 2a 00 08 00 00 00 00 00 00 00 00 00 00 00 fd fd 00 11 44 75 63 6b 79 00 01 00 04 00 00 00 4b 00 00 fd fd 03 ... >


new Buffer(response.body)

<Buffer ef bf bd ef bf bd ef bf bd ef bf bd 00 18 45 78 69 66 00 00 49 49 2a 00 08 00 00 00 00 00 00 00 00 00 00 00 ef bf bd ef bf bd 00 11 44 75 63 6b 79 00 ... >


所以我的问题是:如何从该字符串表示形式中获取正确的原始Buffer?

最佳答案

你不能显然是known bug。您可以对其进行修复和修复,然后将PR提交回原始存储库,和/或至少对先前链接的问题发表意见。

关于node.js - Node 二进制Buffer.toString(),转换回Buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003643/

25 4 0