История изменений
Исправление hateyoufeel, (текущая версия) :
Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.
А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.
Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент конвертируешь в байты и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё, так что лучше посмотри в сторону пакета vector.
Исправление hateyoufeel, :
Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.
А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.
Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент урезаешь до байта и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё, так что лучше посмотри в сторону пакета vector.
Исправление hateyoufeel, :
Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.
А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.
Проблема два: ты зачем-то генерируешь список Int64, после чего каждый элемент урезаешь до байта и делаешь xor с байтами данных по одному за раз. Так не делается. Тебе надо блоками это делать всё.
Исходная версия hateyoufeel, :
Там есть hGet, который берёт размер на чтение. Если ты хочешь руками всё сделать, то используй эту функцию.
А вообще, для того, что ты делаешь, обычно используют либо Pipes, либо Conduit. Это две библиотеки с примерно одинаковым функционалом для организации поточной обработки данных.