首页  > 教育解读  > js如何二进制转换

js如何二进制转换

2025-05-01 01:08:07
起步向前走
起步向前走已认证

起步向前走为您分享以下优质知识

在Javascript中,将数值或字符串转换为二进制可以通过以下几种方法实现:

一、数值转二进制

使用`toString(2)`方法

最简单的方法是使用`Number.prototype.toString()`方法,并传入参数`2`,直接将数值转换为二进制字符串。 ```javascript

let num = 12;

console.log(num.toString(2)); // 输出: "1100"

```

该方法适用于整数转换,且支持负数(以补码形式表示)。

使用`parseInt()`函数

`parseInt()`函数可以解析二进制字符串并返回十进制数,但也可用于将十进制数转换为其他进制,包括二进制。需传入两个参数:要转换的字符串和基数(如`2`表示二进制)。 ```javascript

let num = 12;

console.log(parseInt(num.toString(2), 2)); // 输出: 12

```

此方法同样支持负数转换。

二、字符串转二进制

字符编码转换

可以通过`charCodeAt()`获取字符的ASCII码,再使用`toString(2)`将每个ASCII码转换为二进制字符串,最后用`join('')`拼接完整结果。 ```javascript

let str = "你好";

let binaryStr = str.split('').map(char =>

char.charCodeAt(0).toString(2)).join('');

console.log(binaryStr); // 输出: "10010110 11100101 11101000 10011010"

```

该方法适用于单个字符的转换。

位运算实现

通过位与(`&`)、左移(`>

= 1;

}

result += binary.padStart(8, '0');

}

return result;

}

console.log(strToBinary("你好")); // 输出: "10010110 11100101 11101000 10011010"

```

该方法支持多字符转换,并确保每个字符以8位二进制表示。

三、二进制数据类型转换

二进制字符串转数值:

使用`parseInt(binaryStr, 2)`或`parseFloat(binaryStr, 2)`。 ```javascript

let binaryStr = "101010";

console.log(parseInt(binaryStr, 2)); // 输出: 42

```

数值转二进制数据类型:使用`BinaryString`(已废弃)、`Blob`、`ArrayBuffer`等类型,需结合`FileReader`读取文件或生成二进制数据。

四、注意事项

`toString(2)`返回的字符串可能包含前导零,需根据需求处理(如使用`padStart`补零)。

负数转换时,`toString(2)`会以补码形式表示,`parseInt`也能正确解析。

通过以上方法,可灵活实现数值与二进制字符串之间的转换,满足不同场景需求。