
吕老师为您分享以下优质知识
在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`组合。