如何将字符串表示中的字节转换为实际字节表示?

时间:2016-05-09 15:00:18

标签: javascript

我想在String表示中转换一个字节,例如:

" FF"

以实际字节表示形式:

0xFF的

其他例子:

" 00"到0x00

" 10"到0x10

"图2A"到0x2A

" 5F"到0x5F

依旧......

我该怎么做?

由于

2 个答案:

答案 0 :(得分:0)

Javascript没有数据类型hex或类似。

  

Number type

     

根据ECMAScript标准,只有一种数字类型:double-precision 64-bit binary format IEEE 754 value( - (2 53 -1)和2 53 之间的数字 - 1)。整数没有特定的类型。除了能够表示浮点数之外,数字类型还有三个符号值:+Infinity-InfinityNaN(非数字)。

您可以将给定的十六进制字符串parseInt(string, radix)转换为十进制整数表示。

答案 1 :(得分:0)

如果是definetelly,则此处的2个字符长度是您需要的功能:

function stringToByte (str) {
  str = str.toUpperCase()
  var codes = [str.charCodeAt(0), str.charCodeAt(1)]
  for (var i = 0; i < 2; i++) {
    if (codes[i] >= 48 && codes[i] <= 57) {
      codes[i] -= 48
    } else {
      codes[i] -= 55
    }
  }
  return codes[0] * 16 + codes[1]
}
console.log(stringToByte('00') === 0x00, stringToByte('FF') === 0xFF)