📅  最后修改于: 2023-12-03 15:09:37.896000             🧑  作者: Mango
在 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 中将文本转换为二进制以及将二进制转换回文本的方法。