¿Qué estructura de datos puedo usar para representar códigos QR?

Depende de cómo se usará el código QR. Los QR son solo una representación de datos en código de barras 2D, que puede ser texto, una URL, un número entero, etc., etc.

Por lo tanto, depende de la aplicación que use el QR. En general, es más eficiente el espacio para convertir una imagen QR en su formato de datos nativo (cadena de texto o int, por ejemplo) para almacenar en una base de datos. Sin embargo, si tiene que mostrar los datos como un QR, debe considerar las implicaciones de rendimiento del código que procesa un QR de los datos al formato de código de barras QR; si ese proceso es demasiado lento (o es más rápido hacer algo como almacenar en caché una imagen QR), entonces es posible que desee almacenar la imagen, o al menos almacenarla en caché. Tenga en cuenta que los códigos QR tienen un componente de corrección de errores que se puede configurar al generar dinámicamente el QR, pero si lo almacena en caché, perderá esa flexibilidad si es necesario (a menos que lo regenere); la flexibilidad puede ser útil si está mostrando el QR en varios contextos y condiciones de iluminación para el escáner.

Una cadena de texto. Independientemente de lo que desee codificar como código QR, conviértalo primero en una cadena y luego ejecútelo en la biblioteca de códigos QR.