Python: QR-Code mit Line Feed

Datum
Kommentare 0

Ich benötige einen QR-Code der beginnend mit einem Leerzeichen einen kurzen String, gefolgt von einem Zeilenwechsel kodiert. Also etwas in dieser Art: „ Test\n“.

Dies:
import qrcode 
qr = qrcode.QRCode(version=1, box_size=10, border=2)
text=" Test\n"
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("PG50.png")

Ergibt folgenden QR-Code:

[ Bild kann nicht angezeigt werden ]
Dieser QR-Code führt leider nicht zum Ziel, weil der Zeilenwechsel fehlt

Wenn man das mit einem Handscanner scannt, hat das ‚\n‘ ganz genau: gar keinen Effekt.

Nach vielen, fast verzweifelten, Ausprobieren und testen, habe ich folgende Lösung gefunden:

import qrcode
qr = qrcode.QRCode(version=1, box_size=10, border=2)
text=" PG50\n\r"
qr.add_data(text)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("PG50nr.png")

Ergibt folgenden QR-Code:

[ Bild kann nicht angezeigt werden ]
Mit diesem Code klappe es!

Was ist der Unterschied?

Hinter dem Text wird nicht nur „\n“ eingefügt, sondern „\n\r“, also mit einem zusätzlichen \r (=Wagenrücklauf).

Warum und wieso? Keine Ahnung!

Autor
Kategorien Python, Programmierung

Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.





Kommentare

Keine Kommentare

Kommentare

Geben Sie Ihren Kommentar hier ein. * Eingabe erforderlich. Sie müssen die Vorschau vor dem Absenden ansehen.