Javascript将字符串转换为固定长度的二进制文件

Javascript将字符串转换为固定长度的二进制文件,javascript,binary,append,converter,Javascript,Binary,Append,Converter,是否有一种优雅的方法将某些字符串转换为二进制并得到固定长度的结果? 内置函数是:parseInt(str,10).toString(2),但它缩短了长度 例如,如果我想要长度=8位,那么myFunction(“25”)将返回00011001,而不仅仅是11001 我知道我可以在开头加上零,但对我来说这似乎不是一种优雅的方式。最优雅的方式似乎是编写(或找到某个地方)缺少的抽象,并将它们组合起来以达到预期的效果 //lodash具有此功能 函数padStart(字符串、长度、字符){ //也可以通

是否有一种优雅的方法将某些字符串转换为二进制并得到固定长度的结果?
内置函数是:
parseInt(str,10).toString(2)
,但它缩短了长度

例如,如果我想要长度=8位,那么
myFunction(“25”)
将返回
00011001
,而不仅仅是
11001


我知道我可以在开头加上零,但对我来说这似乎不是一种优雅的方式。

最优雅的方式似乎是编写(或找到某个地方)缺少的抽象,并将它们组合起来以达到预期的效果

//lodash具有此功能
函数padStart(字符串、长度、字符){
//也可以通过循环完成:
//while(长度-->0){
//字符串=字符+字符串;
//    }
//返回字符串;
返回长度>0?
padStart(字符+字符串,--长度,字符):
一串
}
函数numToString(num,基数,length=num.length){
常量numString=num.toString(基数);
返回numString.length==长度?
numString:
padStart(numString,length-numString.length,“0”)
}

log(numToString(parseInt(“25”,10),2,8))为什么不?显式地用零填充有什么问题<代码>如果(str.length<8)str+=Array(8-str.length+1).join(“0”)
看起来并不太糟糕,如果它重复出现,您可以将它封装在助手函数中。仔细想想。如果你要写这样一个函数,在它的末尾你会填充零。这只是生活中的一个事实。没什么不优雅的。