如何将十六进制的二进制数据转换为Unicode字符串

时间:2019-06-23 00:10:08

标签: javascript node.js

我正在尝试从node.js上的hexlified二进制数据中“解码” Unicode字符串。

const convert = (from, to) => (str) => Buffer.from(str, from).toString(to);
const hexToUtf8 = convert('hex', 'utf8');
const content = hexToUtf8(data.binary)

但是当我发送以下数据时:

  

从您的Twilio试用帐户发送-¿Cómoestás?

正在转换为

  

从您的Twilio试用帐户发送-``有趣''?

二进制数据为53656e742066726f6d20796f7572205477696c696f20747269616c206163636f756e74202d20bf43f36d6f20657374e1733f

1 个答案:

答案 0 :(得分:1)

您似乎将字节编码为latin1:

let data = "53656e742066726f6d20796f7572205477696c696f20747269616c206163636f756e74202d20bf43f36d6f20657374e1733f"
let b = Buffer.from(data, 'hex')
console.log(b.toString('latin1'))

打印

Sent from your Twilio trial account - ¿Cómo estás?