2015-04-04 3 views
1

im using node.js, и у меня есть строка, которую я пытаюсь преобразовать в hex.преобразование строки в hex в 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) 
+1

Какой тип 'decryptedPayload'? Это буфер ('Buffer.isBuffer (decryptedPayload) === true')? Если это буфер, вы можете просто сделать decryptedPayload.toString ('hex') ' – mscdex

+0

@mscdex, это сработало - спасибо! –

ответ

3

Если у вас есть буфер, вы можете напрямую позвонить toString() и передать необходимый вид вывода, для примера le: decryptedPayload.toString('hex')

Смежные вопросы