Skip to content

22.08.2022 Попытка создания qr-кода на java

Notifications You must be signed in to change notification settings

ellvenro/java_qr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

Простая программа, написанная на языке java

Попытка реализации кодирования информации с помощью qr-кода первой версии

Программа создана для изучения основ языка программирования 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();
        }

About

22.08.2022 Попытка создания qr-кода на java

Topics

Resources

Stars

Watchers

Forks

Languages