我正在使用 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)
最佳答案
如果你有一个Buffer,你可以调用toString()
直接传递你想要的输出类型,例如:decryptedPayload.toString('hex')
关于javascript - 在js中将字符串转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29447494/