gpt4 book ai didi

typescript toString ('hex' ) 不工作

转载 作者:搜寻专家 更新时间:2023-10-30 20:39:24 35 4
gpt4 key购买 nike

请有人帮我将 typescript 中的缓冲区转换为十六进制。我在尝试调用 data.toString('hex')

时遇到错误 error TS2554: Expected 0 arguments, but got 1.
const cipher = crypto.createCipher('aes192', config.secret);

let encrypted = '';
cipher.on('readable', () => {
const data = cipher.read();
if (data) {
encrypted += data.toString('hex');
}
});
cipher.on('end', () => {
secret = encrypted;
resolve(encrypted);
});

cipher.write('some clear text data');
cipher.end();

此代码示例实际上是从Node.js docs for crypto 复制粘贴的

最佳答案

cipher.read() 返回 string | Buffer,其中只有类型 Buffer 具有接受参数的 toString 的重载。

您可以尝试断言dataBuffer 类型:

encrypted += (data as Buffer).toString('hex');

或者您可以使用instanceof type guard :

if (data instanceof Buffer)
encrypted += data.toString('hex'); // `data` is inferred as `Buffer` here

关于 typescript toString ('hex' ) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45449645/

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