Разработано в рамках курса по предмету "Основы теории информации и кодирования".
Формат файла: .nkvd
- Сигнатура: 4 байта
Для форматаnkvd:{ 0x6e , 0x6b, 0x76, 0x64 } - Версия: 1 байт
- Код шифрования: 1 байт
- Запасной код: 1 байт
- Длина названия файла
lenFileName: 4 байта - Название файла:
lenFileNameбайт - Длина содержания файла
lenFile: 4 байта - Содержимое файла:
lenFileбайт
Кодирует массив байтов из папки. Таблица символов:
- Количество символов (байтов): 1 байт Далее в цикле для каждого символа
- Символ: 1 байт
- Длина кода в битах: 1 байт
- Код (бинарный): 1-3 байта
Если символ повторяется более 2х раз, то он будет закодирован в следующем формате:
- Сначала идет байт-флаг. Его старший бит
1, а остальные 7 бит означают(число повторений байта - 2); - Далее идет тот самый байт, который повторяется.
Например, последовательность байт[80 80 80 80 80 80]будет закодирована как:
10000100 80(первое число в двоичном формате). Или132 80в десятичном формате.
Если символы не повторяются, они закодированы следующим образом:
- Сначала идет байт флаг. Если старший бит равен
0. А остальные 7 бит означаютcnt = (сколько символов далее нужно считать - 1); - Далее идут cnt символов.
Например, последовательность байт[0 4 2 0]будет закодирована как:
00000011 0 4 2 0или3 0 4 2 0.