Encoding bytes into a QR code and decoding it produces data that is different from the original one.
code:
import segno
from pyzbar.pyzbar import decode, ZBarSymbol
from PIL import Image
byte = b'\xb8\xd6\x90\xaf'
print(byte) # --> b'\xb8\xd6\x90\xaf'
qrcode = segno.make(byte, micro=False, mode='byte')
qrcode.save('test.png', scale=10)
ds = decode(Image.open("test.png"), symbols=[ZBarSymbol.QRCODE])
print(ds[0].data) # --> b'\xef\xbd\xb8\xef\xbe\x96\xe6\x98\x9f'