Odczytanie wartości zakodowanych w kodzie QR

Odczytanie wartości zakodowanych w kodzie QR
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 141
0

Używam biblioteki pyzbar do odczytania zawartości kodów qr. Radzi sobie nieźle, jednak chciałbym dane, które otrzymuję sparsować, tak bym mógł je wykorzystać w dalszej części programu. Pytanie w jaki sposób to zrobić? Pyzbar zwraca mi np:

Decoded(data=b'K,K,1,1,0', type='QRCODE', rect=Rect(left=5, top=5, width=108, height=109), polygon=[Point(x=5, y=5), Point(x=5, y=113), Point(x=113, y=114), Point(x=113, y=5)])

odwołując się:

Kopiuj
barcodes[0].data

otrzymuję:
b'K,K,1,1,0'

w jaki sposób mógłbym pominąć to początkowe "b" a wszystkie dane oddzielone przecinkiem odczytać i wykorzystać niezależnie?

KamilAdam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Silesia/Marki
  • Postów: 5550
2

W Pythonie nie ma funkcji/metody split dla Stringów?
np:

Kopiuj
"b'K,K,1,1,0'".split("'")[1].split(",")

powinno zwrócić listę ['K', 'K', '1', '1', '0']

UPDATE: Sprawdziłem, zwraca

Spearhead
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1007
3

Ten b oznacza, że zwróciło ci ciąg binarny i musisz go zdekodować.

Kopiuj
>>> b'K,K,1,1,0'
b'K,K,1,1,0'
>>> type(b'K,K,1,1,0')
<class 'bytes'>
>>> b'K,K,1,1,0'.decode('utf-8')
'K,K,1,1,0'
>>> type(b'K,K,1,1,0'.decode('utf-8'))
<class 'str'>
>>> b'K,K,1,1,0'.decode('utf-8').split(',')
['K', 'K', '1', '1', '0']
>>> 

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

w jaki sposób mógłbym pominąć to początkowe "b"

Tego b tam nie ma. Ono tylko mówi o tym, że to są surowe bajty, nic więcej.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.