I got an assignment to convert a given string into binary and back to a string again.
The first part was easy
function stringToBinary(input) {
var characters = input.split('');
return characters.map(function(char) {
return char.charCodeAt(0).toString(2)
}).join('');
}
alert(stringToBinary('test'))
However I cannot get my head around how to break the resulting string into their bytes. I tried this so far:
function binaryToString(input) {
var bits = input.split('');
var byte = '';
return bits.map(function(bit) {
byte = byte + bit;
if (byte.length == 8) {
var char = byte; // how can I convert this to a character again?
byte = '';
return char;
}
return '';
}).join('');
}
alert(binaryToString('1110100110010111100111110100'));
How can I convert a byte into a character again? And it also feels a bit odd. Is there a better, faster way to collect those bytes