【发布时间】:2023-03-27 18:33:01
【问题描述】:
我正在使用 node.js,我有一个字符串,我正在尝试将其转换为十六进制。
这是我正在使用的功能:
function toHex(str) {
var hex = '';
var i = 0;
while(str.length > i) {
hex += ''+str.charCodeAt(i).toString(16);
i++;
}
return hex;
}
这就是我试图称呼它的方式:
console.log('Payload: ' + toHex(decryptedPayload));
但是当它运行时我得到这个错误:
hex += ''+str.charCodeAt(i).toString(16); ^ TypeError: undefined is not a function at toHex (C:\Users\Office\Desktop\luigi-master\lib\middleware.js:131:17) at Middleware._transform (C:\Users\Office\Desktop\luigi-master\lib\middleware.js:161:29) at Middleware.Transform._read (_stream_transform.js:179:10) at Middleware.Transform._write (_stream_transform.js:167:12) at doWrite (_stream_writable.js:301:12) at writeOrBuffer (_stream_writable.js:288:5) at Middleware.Writable.write (_stream_writable.js:217:11) at Packetize.ondata (_stream_readable.js:540:20) at Packetize.emit (events.js:107:17) at readableAddChunk (_stream_readable.js:163:16)
【问题讨论】:
-
decryptedPayload是什么类型?它是缓冲区(Buffer.isBuffer(decryptedPayload) === true)吗?如果是缓冲区,你可以做decryptedPayload.toString('hex') -
@mscdex 成功了 - 谢谢!
标签: javascript string node.js hex