缺少位 - 文本到二进制 JS

Missing bits - Text-to-Binary JS

我正在处理别人编写的代码。在检查代码时,我注意到在转换过程中删除了 0 位。这是代码示例:

user_input = 'a'
        
input_bits = '';
for (let i = 0; i < user_input.length; i++) {
    input_bits += user_input.charCodeAt(i).toString(2);
}

当我运行这段代码时input_bits中的值是:1100001。我使用了在线转换器,结果是:01100001。我认为在我的情况下丢失的位很重要,因为如果我想转换另一个字符串,例如 ab 我的代码版本将给出 11000011100010 并且预期值应该是 0110000101100010.

我该如何解决。我在循环中尝试了一个 if 语句来附加缺失的 0 位,直到长度为 8,但这会导致更奇怪的结果。

提前致谢。

只是 padStart 零到长度 8:

user_input = 'a'
    
input_bits = '';
for (let i = 0; i < user_input.length; i++) {
    input_bits += user_input.charCodeAt(i).toString(2).padStart(8, "0");
}
console.log(input_bits)