javascript - 为什么 Node.js 不输出二进制值 0's and 1' s?

标签 javascript node.js binary

我正在尝试学习二进制并为我提出的编程想法构建一个库,以更好地理解 Javascript 和基本编程技术。当将字符串值转换为其二进制形式时,我注意到由于某种原因,Node 无法接收该字符串的 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) 将该代码转换为其二进制表示形式,并在最后用零填充每个二进制字符串以使其成为 8 位。

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))

关于javascript - 为什么 Node.js 不输出二进制值 0's and 1' s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120710/

相关文章:

javascript - '类型错误 : Object is not a function' when using tunnel-ssh

python - 正则表达式解析二进制文件?

javascript - 为什么 `ng-checked` 不能与 `ng-change` 一起使用?

javascript - 将应用程序连接到 AWS 上的 RethinkDB 服务器

javascript - 如何检测网站是否无法通过 iframe 嵌入?

javascript - 使用 Knex 和 PG 插入多行

c++ - 如何将uint32_t数字转换为char [8]?

MySql 二进制查询

javascript - 如何在不使用 jquery 的情况下在 javascript 中创建动态 div?

javascript - 单击单选按钮时 div 不隐藏