在js中将字符串转换为十六进制

converting string into hex in js

本文关键字:转换 十六进制 字符串 js      更新时间:2023-09-26

im使用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')