Nodejs 8を使用して、データを文字列から16進数に変換し、その後再び16進数から文字列に変換する必要があります。
16進数から文字列へのデコード中に問題が発生しました
変換するコード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
encodingの出力:3162316637526b62784a5a37697a45796c656d465643747a4a505a6f59774641534c75714733544b4446553d
decodingの出力:1b1f7RkbxJZ7izEylemFVCtzJPZoYwFASLuqG3TKDFU=
必須デコードの出力: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'