Как перепроектировать определенный QR-код?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как перепроектировать определенный QR-код?

Сообщение Anonymous »

Я работаю над проектом, в котором мне нужно создать точную копию определенного QR-кода. У меня есть подробная информация о QR-коде, включая его версию, уровень исправления ошибок, шаблон маски, блоки данных и окончательную декодированную строку. Однако я не уверен, как точно его воссоздать.
QR_code
Вот подробности QR-кода:
  • Версия: 3 (29x29)
  • Уровень исправления ошибок: L
  • Шаблон маски: 0
  • Блоки данных:

    Код: Выделить всё

    [
    "01000001","11010110","10000111","01000111","01000111","00000111","00110011",
    "10100010","11110010","11110111","01110111","01110111","01110010","11100111",
    "00000110","00010111","00100110","01100110","11110110","10010111","00110010",
    "11100110","00110110","11110110","11010010","11110111","01100110","10010110",
    "01010111","01110010","11110001","00000001","10001110","00001010","00011001",
    "00000001","00010111","11010000","10010011","10010011","01000000","11101100",
    "00010001","11101100","00010001","11101100","00010001","11101100","00010001",
    "11101100","00010001","11101100","00010001","01001001","10101010","11011101",
    "10000010","11101011","10110110","00101100","01011001","11110111","00111111",
    "10011000","11011010","01000001","11001100","01000111"
    ]
    
  • Биты окончательных данных:

    Код: Выделить всё

    01000001110101101000011101000111010001110000011100110011101000101111001011110111011101110111011101110010111001110000011000010111001001100110011011110110100101110011001011100110001101101111011011010010111101110110011010010110010101110111001011110001000000011000111000001010000110010000000100010111110100001001001110010011010000001110110000010001111011000001000111101100000100011110110000010001111011000001000111101100000100011110110000010001
    
  • Сегменты декодированных данных:

    Код: Выделить всё

    https://www.parfois.com/view/
[*]Окончательная декодированная строка:

Код: Выделить всё

https://www.parfois.com/view/224646_BNM

Я пытаюсь создать QR-код на Python, соответствующий конкретным требованиям:
  • Версия: 3 (представляет собой QR-код размером 29x29)
  • Уровень исправления ошибок: L (низкий)
  • Шаблон маски: 0
  • Данные для кодирования:

    Сегмент 1: URL-адрес «https://www.parfois.com» /view/" (байтовый режим)
  • Сегмент 2: число "224646" (числовой режим)
  • Сегмент 3: Суффикс "_BNM" (байтовый режим)

Вот что я пробовал до сих пор:
1. библиотека qrcode
Я обнаружил, что qrcode не обеспечивает достаточного контроля над версией QR, уровнем исправления ошибок и шаблоном маски. Он также не предлагает простых способов указать режимы кодирования для различных сегментов данных (числовых или байтовых).
2. qrcodegen
Этот вариант мне показался более подходящим, но я столкнулся с некоторыми проблемами при попытке заблокировать версию и шаблон маски. Вот пример того, что я пробовал:

Код: Выделить всё

qr = QrCode.encode_segments(
segments,
ecl=QrCode.Ecc.LOW,  # Error correction level L
version=3,           # Fix the version to 3
mask=0,              # Mask pattern 0
boost_ecl=False      # No automatic error correction boosting
)
Но это вызвало ошибку:

TypeError: QrCode.encode_segments() получил неожиданный аргумент ключевого слова «версия»

Похоже, что qrcodegen не позволяет вам исправить версию или установить определенный шаблон маски с помощью этого метода (по крайней мере, в мое окружение).
3. Библиотека segno
Я также попробовал segno, поскольку она поддерживает генерацию QR-кода и кажется гибкой. Однако я до сих пор не уверен, как полностью контролировать такие вещи, как шаблоны масок и сегментацию данных по мере необходимости.
В чем мне нужна помощь
Как Могу ли я создать QR-код с этими конкретными требованиями (версия, уровень исправления ошибок, шаблон маски и сегментация данных)? В идеале мне хотелось бы знать, какая библиотека Python лучше всего подходит для этого и как ее настроить.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ic-qr-code
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»