convert-binary
Version:
An NPM package to convert various data types to and from binary representation
74 lines (61 loc) • 1.81 kB
JavaScript
function toBinaryFromNumber(num) {
return (num >>> 0).toString(2);
}
function toBinaryFromString(str, encoding = "utf-8") {
return [...Buffer.from(str, encoding)]
.map(byte => byte.toString(2).padStart(8, "0"))
.join("");
}
function toBinaryFromHex(hexStr) {
return parseInt(hexStr, 16).toString(2);
}
function toBinaryFromOctal(octalStr) {
return parseInt(octalStr, 8).toString(2);
}
function toBinaryFromBoolean(bool) {
return bool ? "1" : "0";
}
function toBinaryFromFloat(floatNum) {
let buffer = new ArrayBuffer(4);
let view = new DataView(buffer);
view.setFloat32(0, floatNum);
return [...new Uint8Array(buffer)]
.map(byte => byte.toString(2).padStart(8, "0"))
.join("");
}
function binaryToNumber(binStr) {
return parseInt(binStr, 2);
}
function binaryToString(binStr, encoding = "utf-8") {
let bytes = binStr.match(/.{1,8}/g);
return Buffer.from(bytes.map(byte => parseInt(byte, 2))).toString(encoding);
}
function binaryToHex(binStr) {
return parseInt(binStr, 2).toString(16).toUpperCase();
}
function binaryToOctal(binStr) {
return parseInt(binStr, 2).toString(8);
}
function binaryToBoolean(binStr) {
return binStr === "1";
}
function binaryToFloat(binStr) {
let bytes = binStr.match(/.{1,8}/g).map(b => parseInt(b, 2));
let buffer = new Uint8Array(bytes).buffer;
let view = new DataView(buffer);
return view.getFloat32(0);
}
module.exports = {
toBinaryFromNumber,
toBinaryFromString,
toBinaryFromHex,
toBinaryFromOctal,
toBinaryFromBoolean,
toBinaryFromFloat,
binaryToNumber,
binaryToString,
binaryToHex,
binaryToOctal,
binaryToBoolean,
binaryToFloat
};