Преобразование шестнадцатеричной строки в строковую и шестнадцатеричной строки в nodejs - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужно преобразовать данные в строку в шестнадцатеричное, а затем снова из шестнадцатеричного в строковое с использованием nodejs 8

У меня проблема при декодировании из шестнадцатеричного в строковое значение

Код для преобразования string into hex

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

Код для преобразования hex into string

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

У меня есть строка dailyfile.host

вывод кодировка : 3162316637526b62784a5a37697a45796c656d465643747a4a505a6f59774641534c75714733544b4446553d

вывод декодирование : 1b1f7RkbxJZ7izEylemFVCtzJPZoYwFASLuqG3TKDFU=

Требуется вывод декодирования: dailyfile.host

1 Ответ

0 голосов
/ 10 сентября 2018

Вам также необходимо использовать Buffer.from() для декодирования. Попробуйте написать функцию более высокого порядка, чтобы уменьшить количество повторяющегося кода:

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'
...