Bibliothek QR-Code-generator für C++: Vollständige Anleitung
\n\nQR-Codes sind zu einem unverzichtbaren Bestandteil der modernen digitalen Welt geworden. Sie werden in der Werbung, Logistik, Zahlungssystemen und sogar in Bildungsprojekten eingesetzt. Wenn Sie eine Anwendung in C++ entwickeln und die Funktionalität zur Generierung von QR-Codes hinzufügen möchten, ist die Bibliothek QR-Code-generator ein einfaches, leichtes und effizientes Werkzeug. In diesem Artikel werden wir im Detail besprechen, was diese Bibliothek ist, wie man sie installiert und zeigen funktionierende Codebeispiele.
\n\nWas ist QR-Code-generator?
\nQR-Code-generator ist eine plattformübergreifende Bibliothek in C++ (auch verfügbar in C, Python, Java), die es ermöglicht, QR-Codes verschiedener Versionen und Fehlerkorrekturstufen zu erstellen. Die Hauptvorteile:
\n- \n
- Benötigt keine externen Abhängigkeiten (funktioniert „out of the box“). \n
- Unterstützt alle 40 Versionen von QR-Codes (von 21×21 bis 177×177 Modulen). \n
- Fehlerkorrekturstufen: L (7%), M (15%), Q (25%), H (30%). \n
- Ausgabe als Zeichenkette (
char*) oder binäres Array. \n - Unterstützung von Unicode (UTF-8) und numerischen/alphabetischen Modi. \n
Die Bibliothek eignet sich ideal für die Einbettung in Serveranwendungen, Kommandozeilen-Dienstprogramme oder Bildungsprojekte in C++.
\n\nInstallation und Einbindung
\nDie Installation ist denkbar einfach. Sie können die Quelltexte aus dem GitHub-Repository von Nayuki herunterladen oder einen Paketmanager (z. B. vcpkg) verwenden. Betrachten wir die manuelle Methode:
\n- \n
- Laden Sie die Dateien
qrcodegen.hppundqrcodegen.cppherunter. \n - Platzieren Sie sie im Ordner Ihres Projekts. \n
- Binden Sie die Header-Datei im Code ein:
#include "qrcodegen.hpp". \n - Kompilieren Sie das Projekt mit dem Flag
-std=c++11oder höher. \n
Beispiel für die Kompilierung mit g++:
\ng++ -std=c++11 main.cpp qrcodegen.cpp -o qr_generator\n\nWichtige API-Funktionen
\nDie Bibliothek bietet eine minimalistische, aber leistungsstarke API. Die wichtigsten Funktionen:
\n- \n
qrcodegen::QrCode::encodeText(text, ecl)— kodiert eine Textzeichenkette in einen QR-Code mit der angegebenen Fehlerkorrekturstufe. \n qrcodegen::QrCode::encodeBinary(data, ecl)— kodiert binäre Daten. \n getSize()— gibt die Größe des QR-Codes zurück (Anzahl der Module in der Breite). \n getModule(x, y)— prüft, ob ein Modul (Pixel) an den Koordinaten (x, y) gesetzt ist. \n
Beispiel 1: QR-Code-Generierung und Ausgabe auf der Konsole
\nDas einfachste Beispiel: Erstellen Sie einen QR-Code für eine Textzeichenkette und geben Sie ihn als ASCII-Grafik aus. Dieser Code ist nützlich für das Debugging oder die Demonstration im Terminal.
\n#include <iostream>\n#include <string>\n#include "qrcodegen.hpp"\n\nusing namespace std;\nusing namespace qrcodegen;\n\nint main() {\n // Erstellen eines QR-Codes für den Text mit Fehlerkorrekturstufe H (30%)\n const QrCode qr = QrCode::encodeText("https://pythonlib.ru", QrCode::Ecc::HIGH);\n \n // Ausgabe des QR-Codes auf der Konsole (Zeichen █ und Leerzeichen)\n for (int y = 0; y < qr.getSize(); y++) {\n for (int x = 0; x < qr.getSize(); x++) {\n cout << (qr.getModule(x, y) ? "██" : " ");\n }\n cout << endl;\n }\n return 0;\n}\nErgebnis: Auf der Konsole wird ein QR-Code angezeigt, der mit jedem Smartphone gescannt werden kann. Die Stufe H bietet maximale Widerstandsfähigkeit gegen Beschädigungen.
\n\nBeispiel 2: Erstellen eines QR-Codes mit binären Daten
\nManchmal müssen nicht Texte, sondern beliebige Bytes (z. B. serialisierte Daten) kodiert werden. Verwenden Sie encodeBinary.
#include <vector>\n#include "qrcodegen.hpp"\n\nusing namespace qrcodegen;\n\nint main() {\n // Vorbereiten der binären Daten (Byte-Array)\n std::vector<uint8 Auch in der Bibliothek
Maschinelles Lernen mit PHP: Überblick über Bibliotheken zur ML-Integration
Kryptographie in Swift: Verschlüsselung und Hashing für iOS/macOS
Internationalisierung (i18n) in Swift für iOS und macOS
Arbeiten mit Markdown in TypeScript: Bibliotheken, Parser und Werkzeuge
PDF-Generierung in C++: Überblick über Bibliotheken und Codebeispiele