How QR Codes Work: Data Matrix, Encoding Modes, and Reed-Solomon