首页  > 教育解读  > js怎么转换二进制

js怎么转换二进制

2025-04-30 20:54:53
教海导航
教海导航已认证

教海导航为您分享以下优质知识

在Javascript中,将二进制转换为其他进制或处理二进制数据的方法如下:

一、十进制转二进制

使用 `toString(2)` 方法

最常用且简洁的方法,适用于正整数和负整数,返回二进制字符串(负数以补码形式表示)。

```javascript

const decimal = 10;

const binary = decimal.toString(2); // 输出: "1010"

```

位操作实现

通过取模和移位操作手动转换,适合学习底层逻辑。

```javascript

function decimalToBinary(decimal) {

let binaryString = "";

while (decimal >

0) {

binaryString = (decimal % 2) + binaryString;

decimal = Math.floor(decimal / 2);

}

return binaryString || "0";

}

console.log(decimalToBinary(5)); // 输出: "101"

```

二、其他进制转换

通用方法

使用 `toString(radix)` 方法,`radix` 可为2-36,支持任意进制转换。

```javascript

const hex = 255.toString(16); // 输出: "ff"

const octal = 100.toString(8); // 输出: "144"

```

二进制转十进制

使用 `parseInt(binary, 2)` 方法,将二进制字符串转换为十进制数。

```javascript

const binary = "1010";

const decimal = parseInt(binary, 2); // 输出: 10

```

三、字符串转二进制

逐字符转换

通过 `charCodeAt()` 获取字符的ASCII码,再使用 `toString(2)` 转换为二进制,最后拼接成完整二进制字符串。

```javascript

function strToBinary(str) {

return str.split('').map(char =>

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

}

console.log(strToBinary("A")); // 输出: "1010"

```

使用 `ArrayBuffer` 和编码/解码

适用于处理二进制数据(如图像、文件等),通过 `TextEncoder` 和 `TextDecoder` 进行编码和解码。

四、注意事项

`toString(2)` 返回的二进制字符串不包含前导零。

位操作方法仅适用于整数,字符串转换需逐字符处理。