【问题标题】:converting string into hex in js在js中将字符串转换为十六进制
【发布时间】: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


【解决方案1】:

如果你有Buffer,可以直接调用toString(),传递你想要的那种输出,例如:decryptedPayload.toString('hex')

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 2018-01-22
    • 1970-01-01
    • 2013-02-07
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    相关资源
    最近更新 更多