Hassaan
Hassaan

Reputation: 7672

Hex to String & String to Hex conversion in nodejs

I need to convert data into String to Hex and then again from Hex to String using nodejs 8

I have issue while decoding from Hex to String

Code to convert string into hex

function stringToHex(str)
{
    const buf = Buffer.from(str, 'utf8');
    return buf.toString('hex');
}

Code to convert hex into string

function hexToString(str)
{
    const buf = new Buffer(str, 'hex');
    return buf.toString('utf8');
}

I have string dailyfile.host

output of encoding: 3162316637526b62784a5a37697a45796c656d465643747a4a505a6f59774641534c75714733544b4446553d

output of decoding: 1b1f7RkbxJZ7izEylemFVCtzJPZoYwFASLuqG3TKDFU=

Required output of decoding: dailyfile.host

Upvotes: 19

Views: 37035

Answers (1)

Patrick Roberts
Patrick Roberts

Reputation: 51946

You need to use Buffer.from() for decoding as well. Consider writing a higher-order function to reduce the amount of repeated code:

const convert = (from, to) => str => Buffer.from(str, from).toString(to)
const utf8ToHex = convert('utf8', 'hex')
const hexToUtf8 = convert('hex', 'utf8')

hexToUtf8(utf8ToHex('dailyfile.host')) === 'dailyfile.host'

Upvotes: 32

Related Questions