Программа создана для изучения основ языка программирования Java.
За основу взята статья с описанием кодирования qr кода.
С клавиатуры вводятся символы для кодирования. Кодирование информации происходит побайтово с помощью кодировки UTF-8. Далее производится добавление сервисной информации и пустых байтов. Создаются корректирующие байты с помощью алгоритма Рида-Соломона. Далее весь код размещается на битовой карте вместе с дополнительными узорами. На полученный код накладывается маска с номером 0.
Был создан класс Algorithm, содержащий корректирующие многочлены для разных уровней коррекции и реализацию алгоритма Рида-Cоломона.
С помощью инструментов java было реализовано побайтовое кодирование информации с помощью кодировки UTF-8.
//Кодировка исходной строки в UTF-8
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
String bin = "";
for (byte aByte : bytes) {
bin = String.join("", bin, String.format("%8s", Integer.toBinaryString(aByte)).replace(' ', '0'));
}
Вывод информации реализован простым способом с помощью замены символа 1 на символ "■", 0 - " ".
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
System.out.print((matrix[i][j] != 0) ? "■" : " ");
System.out.print(" ");
}
System.out.println();
}