Я использую шифрование файлов, и я не могу заставить это работать. Я пытаюсь разбить файл на четные блоки байтов, если файл не делится на 555, и в этом случае я буду хранить оставшиеся байты в последнем индексе массива 2d. Таким образом, чтобы поместить его визуально байты должны выглядеть следующим образом:Шифрование пользовательского файла, странное исключение
- aaaaaaaaaaaaa
- aaaaaaaaaaaaa
- aaaaaaaaaaaaa
- ааа
отладчик говорит индекс находится вне диапазона на линии где я увеличиваю ii, но индекс не выходит за пределы допустимого диапазона ... Я бывал на этом некоторое время, и я думаю, что для этого мне нужен новый набор глаз. Любая помощь будет оценена по достоинству.
Функциональные блоки (ByVal данные в виде массива)
Dim out As New List(Of Byte)
Dim remainder As Integer = data.Length Mod 555 ' Also will be the last block size
Dim blockSize As Integer = (data.Length - remainder)/555 'The other blocks length
Dim hold(555, blockSize) As Byte
Dim i As Integer = 0
Dim ii As Integer = 0
Do Until i >= 555
Do Until ii >= blockSize
hold(i, ii) = data(ii)
ii += 1
Loop
blockSize += blockSize
i += 1
Loop
Return out.ToArray
End Function
'BLOCKSIZE + = blockSize' удваивает размер. 555 раз. Это, вероятно, не то, что вы хотите. – Ryan
Да ничего себе ... Это было глупо, я, очевидно, устал. Но даже если я полностью выберу эту линейку, это все равно дает мне такое исключение из-за того, что я вышел из-под контроля. Я думаю, что я просто не уверен, как правильно петлять, чтобы получить то, что я хочу. – iamwormlike
Значит, размер блока 555 байтов, или вы хотите блоки 555/556? – Ryan