如果我使用QDataStream
序列化结构并通过UDP发送,
是否可以在没有Qt的情况下反序列化它?
答案 0 :(得分:3)
如果要在不使用Qt库的情况下反序列化,则必须阅读简要描述的Qt序列化格式here,并自行编写反序列化代码。由于此格式可能会发生变化,因此您应该在序列化应用程序中使用Live
并坚持使用某个版本,您可以在接收器中为其实现反序列化代码。
我不建议这样做,因为它可能需要很长时间,并且在为基元执行反序列化时可能会遇到很多错误,例如序列化浮点数中使用的standard IEEE 754 format或者可能是错误是由跨设备等的不同字节序引起的。
那么,为什么重新发明轮子呢?如果您不想在接收器中使用Qt,则可以使用通用的序列化格式。例如,JSON在许多编程语言中得到广泛支持,它是supported in Qt。如果您不喜欢JSON,可以选择lots of data serialization formats。