首页  > 教育解读  > js如何将字符串转化为二进制流

js如何将字符串转化为二进制流

2025-05-04 13:18:23
吕老师
吕老师已认证

吕老师为您分享以下优质知识

在Javascript中,将字符串转换为二进制主要有以下三种方法,涵盖不同场景需求:

一、字符转二进制(逐字符处理)

适用于需要将每个字符转换为对应二进制表示的场景(如ASCII码转换)。

```javascript

function strToBinary(str) {

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

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

}

// 示例

console.log(strToBinary("Hello")); // 输出: 01001000 01100101 01101100 01101100 01101111

```

说明:使用`charCodeAt`获取字符的Unicode码,再通过`toString(2)`转换为二进制字符串,最后用空格分隔。

二、字符串转二进制数组(适用于二进制数据处理)

适用于需要二进制数据存储或传输的场景(如base64解码)。

```javascript

// 使用TextEncoder API

const encoder = new TextEncoder();

const string = "Hello, World!";

const binaryArray = encoder.encode(string);

const binaryString = Array.from(binaryArray).map(b =>

b.toString(2)).join(' ');

console.log(binaryString); // 输出: 01001000 01100101 01101100 01101100 01101111 00101100 01101100 01101100 01101111 01110010 01101100 01101100 01100100 00100000

```

说明:`TextEncoder.encode`将字符串转换为`Uint8Array`,再通过`map`和`join`生成二进制字符串。

三、十进制字符串转二进制

适用于需要将十进制数值转换为二进制字符串的场景。

```javascript

function decimalToBinary(decimalString) {

const number = parseInt(decimalString, 10);

return number.toString(2);

}

// 示例

console.log(decimalToBinary("10")); // 输出: 1010

```

说明:使用`parseInt`将十进制字符串转换为数字,再通过`toString(2)`生成二进制字符串。

选择建议:

若需处理字符编码(如ASCII),优先使用`charCodeAt`方法;

若需二进制数据传输,推荐使用`TextEncoder`;

若需十进制转二进制,直接使用`parseInt`和`toString`组合。