我想打印到控制台中以十六进制表示的4字节数字,如下所示:
console.log('\x5050');
但显然它的行为类似于2字节,因为它输出
P50
P是0x50,然后它按原样打印出剩余的50。如何让我的程序将其视为一个完整的32位数字,而不是8位?
谢谢!
答案 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