这里有问题。我以十六进制数字的形式从硬件接收数据。我用它把它们变成字符串(这是有意的):
arr.push(data.charCodeAt(0).toString(16))
效果很好。例如,我收到 0x00,此代码正确地将“0”字符串添加到数组中。
但是有个问题。 JS自动将这些代码理解为符号。当我尝试 0xAA 或 0x80 时,我收到 FFFD。我认为。这意味着在utf-8中没有这样的符号。
如何让 js 将我的数据理解为十六进制数字,而不是符号代码?
编辑:我发现我的问题是我错误地使用了从硬件接收数据的库。
最佳答案
只是convert the Hex number to decimal
yourNumber = parseInt(hexString, 16);
关于javascript - js如何正确解析十六进制/fffd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50590493/