为什么 Node.js 不输出二进制值的 0 和 1?



我正在尝试学习二进制文件并为我想到的编程想法构建库,以更好地理解我对JavaScript和基本编程技术的理解。当将字符串值转换为其二进制单时,我注意到由于节点某种原因,我无法收到该字符串的0和1值。我将学习如何将字符串转换为二进制形式,然后搜索它们以找到某些值以从上述字符串中删除。

关于如何在0和1中输出二进制表示的某个字符串的想法?

let example_one = 'A';
let buf = Buffer.from(example_one, 'binary');
for (let i = 0; i < buf.length; i++) {
    console.log(`Example 1: ${buf[i]}`)
}
// Example 1:
// A
let example_two = Buffer.alloc(10);
console.log(example_two);
// Example 2: (Some 0's finally appear, do not understand it though
// <Buffer 00 00 00 00 00 00 00 00 00 00>
let example_three = Buffer.from("B", "binary");
console.log(`Example 3: ${example_three}`);
// Example 3: (No zero's)
// B
let example_four = 'Test'.toString('binary');
// Example 4:
// Test

一个想法是将每个字符转换为其相应的ASCII代码,然后使用toString(2)中的二进制代码在其二进制表示中转换该码。

var data = 'test'
function to8bitBinary(s){
  // put each char into an array using spread operator of ES6
  let arrayOfChars = [...s]
  return arrayOfChars
    .map(v => v.charCodeAt()) // convert chars into ASCII codes
    .map(v => v.toString(2))  // convert ASCII codes into binary strings
    .map(v => '0'.repeat(8 - v.length) + v) // pad zeroes to make 8bit strings
}
console.log(to8bitBinary(data))

最新更新