Convert a raw string to an array of big-endian words with Ruby
Posted
by Zag zag..
on Stack Overflow
See other posts from Stack Overflow
or by Zag zag..
Published on 2010-05-02T10:24:39Z
Indexed on
2010/05/02
10:27 UTC
Read the original article
Hit count: 257
Hello,
I would like to convert a raw string to an array of big-endian words.
As example, here is a JavaScript function that do it well (by Paul Johnston):
/*
* Convert a raw string to an array of big-endian words
* Characters >255 have their high-byte silently ignored.
*/
function rstr2binb(input)
{
var output = Array(input.length >> 2);
for(var i = 0; i < output.length; i++)
output[i] = 0;
for(var i = 0; i < input.length * 8; i += 8)
output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
return output;
}
I believe the Ruby equivalent can be String#unpack(format).
However, I don't know what should be the correct format parameter.
Thank you for any help.
Regards
© Stack Overflow or respective owner