📜  将文本转换为二进制 javascript (1)

📅  最后修改于: 2023-12-03 15:09:37.896000             🧑  作者: Mango

将文本转换为二进制 - JavaScript

在 JavaScript 中,可以使用 charCodeAt() 函数将文本转换为 Unicode 码点,然后使用 toString(2) 函数将其转换为二进制。下面是一个示例函数:

/**
 * 将文本转换为二进制字符串
 * @param {string} text 要转换的文本
 * @returns {string} 转换后的二进制字符串
 */
function textToBinary(text) {
  let binary = "";
  for (let i = 0; i < text.length; i++) {
    let codepoint = text.charCodeAt(i);
    let binaryFragment = codepoint.toString(2);
    // 补全前导零到 8 位
    while (binaryFragment.length < 8) {
      binaryFragment = "0" + binaryFragment;
    }
    binary += binaryFragment;
  }
  return binary;
}

使用这个函数,可以将任何文本转换为二进制字符串。例如:

let binary = textToBinary("Hello, world!");
console.log(binary); // "01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 01101111 01110010 01101100 01100100 00100001"

此外,如果需要将二进制字符串转换回文本,可以使用 parseInt() 函数将每个 8 位二进制数转换为十进制数,然后使用 fromCharCode() 函数将其转换为字符。下面是一个示例函数:

/**
 * 将二进制字符串转换为文本
 * @param {string} binary 要转换的二进制字符串
 * @returns {string} 转换后的文本
 */
function binaryToText(binary) {
  let text = "";
  let binaryArray = binary.split(" ");
  for (let i = 0; i < binaryArray.length; i++) {
    let decimal = parseInt(binaryArray[i], 2);
    text += String.fromCharCode(decimal);
  }
  return text;
}

例如,可以将上面的二进制字符串转换回文本:

let text = binaryToText(binary);
console.log(text); // "Hello, world!"

以上就是在 JavaScript 中将文本转换为二进制以及将二进制转换回文本的方法。