在本文中,我们将学习如何在 JavaScript 中将字符串转换为二进制。二进制表示特别重要,特别是在密码学、低级任务和其他不同的编程情况领域。
以下是在 JavaScript 中将字符串转换为二进制的方法:
方法一:使用字符串的字符代码和位运算符
- 字符代码提取:首先,我们将迭代输入字符串中的每个字符。对于每个字符,我们将使用以下命令提取其字符代码charCodeAt()方法。
- 使用按位运算符进行二进制转换:获得字符代码后,我们将其转换为二进制表示形式。我们将通过执行按位运算、使用移位和掩码来提取各个位并创建二进制值来实现此目的。
- 分组和格式设置:为了确保格式一致,我们将用前导零填充二进制表示形式,使其成为完整的字节(8 位)。然后,我们将聚合填充的二进制值并用空格分隔它们。
例子:此示例展示了 above-explained 方法的使用。
Javascript
function convertToBinaryUsingCharacterCodes(input) {
let binaryResult = '';
for (let i = 0; i < input.length; i++) {
const charCode = input.charCodeAt(i);
let binaryValue = '';
for (let j = 7; j >= 0; j--) {
binaryValue += (charCode >> j) & 1;
}
binaryResult += binaryValue + ' ';
}
return binaryResult.trim();
}
const inputString = "GFG";
const binaryRepresentation =
convertToBinaryUsingCharacterCodes(inputString);
console.log(binaryRepresentation);
输出
01000111 01000110 01000111
方法 2:利用 Unicode 代码点和转换方法
- 获取代码点:我们将遍历输入字符串中的每个字符并使用代码点(0)方法来获取其对应的 Unicode 代码点。
- 二进制转换:与前面的方法类似,我们将使用以下命令将 Unicode 代码点转换为二进制形式:字符串(2)方法。
- 填充和分组:如前所述,我们将通过添加填充来确保二进制值的长度为 8 位,然后用空格将它们合并。
例子:此示例展示了 above-explained 方法的使用。
Javascript
function convertToBinaryApproach2(input) {
let binaryResult = '';
for (const char of input) {
const codePoint = char.codePointAt(0);
const binaryValue = codePoint.toString(2);
binaryResult +=
binaryValue.padStart(8, '0') + ' ';
}
return binaryResult.trim();
}
const inputString = "GFG";
const binaryRepresentation =
convertToBinaryApproach2(inputString);
console.log(binaryRepresentation);
输出
01000111 01000110 01000111
方法 3:使用TextEncoder 和字节转换
该策略利用了TextEncoderAPI,它将字符串编码为字节,然后将这些字节转换为二进制表示形式。
- 文本编码:雇用TextEncoderAPI,我们将输入字符串编码为字节序列。此过程有效地将字符转换为其各自的字节值。
- Byte-to-Binary转换:随后,使用以下命令将每个字节转换为二进制:字符串(2)方法。此步骤可确保每个字节的二进制表示形式一致地跨越 8 位。
- 聚合:将生成的二进制值组合起来,并以空格作为分隔符,以组成输入字符串的综合二进制表示形式。
例子:此示例展示了 above-explained 方法的使用。
Javascript
async function convertToBinaryApproach3(input) {
const encoder = new TextEncoder();
const encodedData = encoder.encode(input);
const binaryResult =
[...encodedData].map(byte => byte.toString(2)
.padStart(8, '0')).join(' ');
return binaryResult;
}
const inputString = "GFG";
convertToBinaryApproach3(inputString)
.then(binaryRepresentation => {
console.log(binaryRepresentation);
})
.catch(error => {
console.error(error);
});
输出
01000111 01000110 01000111
相关用法
- Javascript String转Bytes用法及代码示例
- Javascript String转Number用法及代码示例
- Javascript String转Uppercase用法及代码示例
- Javascript String转Lowercase用法及代码示例
- Javascript String.fromCharCode()用法及代码示例
- Javascript String.fromCodePoint()用法及代码示例
- Javascript String()用法及代码示例
- Javascript String includes()用法及代码示例
- Javascript String substr()用法及代码示例
- Javascript String trim()用法及代码示例
- Javascript String startsWith()用法及代码示例
- Javascript String lastIndexOf()用法及代码示例
- Javascript String toUpperCase()用法及代码示例
- Javascript String toLowerCase()用法及代码示例
- Javascript String split()用法及代码示例
- Javascript String indexOf()用法及代码示例
- Javascript String endsWith()用法及代码示例
- Javascript String concat()用法及代码示例
- Javascript String charAt()用法及代码示例
- Javascript String.slice和String.substring的区别用法及代码示例
- Javascript Static和Const的区别用法及代码示例
- Javascript Symbol.for()用法及代码示例
- Javascript Symbol.hasInstance用法及代码示例
- Javascript Symbol.keyFor()用法及代码示例
- Javascript Sort()用法及代码示例
注:本文由纯净天空筛选整理自nikunj_sonigara大神的英文原创作品 JavaScript Program to Convert a String to Binary。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。