node.js - 超过2个字节的十六进制数

时间:2018-02-22 08:32:22

标签: node.js hex 32-bit

我想打印到控制台中以十六进制表示的4字节数字,如下所示:

console.log('\x5050');

但显然它的行为类似于2字节,因为它输出

P50

P是0x50,然后它按原样打印出剩余的50。如何让我的程序将其视为一个完整的32位数字,而不是8位?

谢谢!

2 个答案:

答案 0 :(得分:0)

首先,0x5050 2字节而不是4.文字\x50表示一个字节,因为它需要两个十六进制数字来表示一个8位数字。其次,\x文字只对一个字节进行编码,因此您应该像console.log('\x50\x50')一样使用它。

答案 1 :(得分:0)

字符串中的'\xXX'表示法用于将十六进制值转换为ASCII字符:

console.log('\x61');  // a

它只是一个字符串中的字符。

console.log('What\x27s up\x3F')  // What's up?

如果它是字符串表示,您可以使用0xXX表示法和parseInt()方法完成所需的操作:

console.log(parseInt('0x5050', 16))  // 20560
console.log(parseInt('5050', 16))  // 20560
console.log(0x5050)  // 20560