十六进制字符串Node.js中的字符串到十六进制转换 [英] Hex to String & String to Hex conversion in nodejs
问题描述
我需要使用nodejs 8将数据转换为String到Hex,然后再次从Hex转换为String
从Hex解码为String时出现问题
将字符串转换为十六进制的代码
函数stringToHex(str)
{
const buf = Buffer.from(str,'utf8');
return buf.toString('hex');
}
将十六进制转换为字符串的代码
function hexToString(str)
{
const buf =新的Buffer(str,'hex');
return buf.toString(’utf8’);
}
我有字符串 dailyfile.host
编码的输出: 3162316637526b62784a5a37697a45796c656d465643747a4a505a6f59774641534c75714733544b4446553d
解码的输出:
1b1f7RkbxJZ7izEylemFVCtzJPZoYwFASLuqG3TKDFU =
<解码的strong>必需输出: dailyfile.host
您还需要使用 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'
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
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'
这篇关于十六进制字符串Node.js中的字符串到十六进制转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!