Сообщение от voraa
|
Это преобразовывает в строку. Каждый символ '0' или '1'. а нам эти нули и единицы надо преобразовать в биты и распихать их по байтам.
И еще решить, как хранить младший байт первым или старший.
В примере выше, в Uint8Array первым идет старший байт. Но не уверен, что это правильно.
ЗЫ
Посмотрев всякие материалы убедился, что именно так правильно (первыми идут старшие байты). Такой порядок обычно применяется при передаче по сети и межкомпьютерного обмена данными.
|
А как это сделать не для числа, а для hex-строки? Например, для 2d60a05493265733ff38002c9b80d359ddd9707f98f1c72ce3 8f08fbb057e6ee (64 байта)
// выведет 00101101011000001010000001010100100100110010011001 01011100110011111111110011100000000000001011001001 10111000000011010011010110011101110111011001011100 00011111111001100011110001110001110010110011100011 10001111000010001111101110110000010101111110011011 101110 (256 бит = 32 байта)
ЗЫ
Понятное дело, что hex-строка может иметь произвольную длину))