在本文中,我們將學習如何在 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。