¿Es seguro para convertir un mysqlpp :: SQL_BLOB a un std :: string?
-
20-09-2019 - |
Pregunta
Estoy agarrando algunos datos binarios fuera de mi base de datos MySQL. Sale a la luz como un tipo mysqlpp :: SQL_BLOB.
Lo que pasa es que este es un BLOB serializado Google Protobuf. Necesito des-serializar para que pueda acceder a él con normalidad.
Esto da un error de compilación, ya parseFromString () no está destinado a mysqlpp: tipos SQL_BLOB:
protobuf.ParseFromString( record.data );
Sin embargo, si fuerzo al elenco, que compila Aceptar:
protobuf.ParseFromString( (std::string) record.data );
Es esto seguro? Estoy particularmente preocupado porque de este fragmento de la documentación mysqlpp:
Gracias por su ayuda!
Solución
No parece que sería un problema a juzgar por esa cita (que es básicamente diciendo que si un carácter nulo se encuentra en la burbuja se detendrá la cadena de allí, sin embargo cadenas de caracteres ASCII no tendrán valores nulos al azar en el medio de ellos). Sin embargo, esto podría presentar un problema para la internalización (juegos de caracteres de varios bytes pueden tener valores nulos en el medio).