【发布时间】:2011-04-26 14:16:41
【问题描述】:
我正在尝试读取在基于 Java 的游戏中使用 PHP 中的 ObjectOutputStream 创建的文件。数据是以二进制格式编写的序列化对象。
我一直在使用 fopen 和 fread 来获取二进制数据,但我完全不知道如何处理它。
【问题讨论】:
标签: java php binary objectoutputstream
我正在尝试读取在基于 Java 的游戏中使用 PHP 中的 ObjectOutputStream 创建的文件。数据是以二进制格式编写的序列化对象。
我一直在使用 fopen 和 fread 来获取二进制数据,但我完全不知道如何处理它。
【问题讨论】:
标签: java php binary objectoutputstream
PHP 不理解 Java。然而,两者都理解 JSON、XML、CSV 等常见格式。我建议将格式更改为其中任何一种格式,并将其用作数据传输格式。
对于 JSON,您可以在 Java 中使用 Google Gson 将完全值得的 javabean 转换(编码)为 JSON 风格,在 PHP 中您可以使用 json_decode() 将其转换(解码)为关联的 PHP 数组。
【讨论】:
你不能这么容易做到(除非现有的框架可用)。这是因为 Java 序列化使用的二进制格式对 JVM 来说是高度专业化的,所以认为即使在不同的 JVM 版本之间也不能保证兼容性。
您应该使用不同的方法,例如使用 XML、YAML 或 JSON..
【讨论】: