2010-11-03 106 views
2

我正在网络上在我的Python脚本将与我的Java应用程序进行通信。 python脚本将一个DataPacket(仅包含一些字符串和一些其他数据的数据包)传递给java服务器进行处理。我知道如何将信息打包到一个字节数组中,但是如何解开它才能用作字符串?到目前为止,我必须解析数据包中的数据阵列,并将其以零散的形式发送出去。这是做到这一点的唯一方法吗?我可以使用ByteInputStream吗?如果是的话如何?传递字符串[]的为字节[]

感谢 〜Aedon

+0

你需要一个字节数组解包解决方案就是Java。你可以删除python标签,因为它在这里没什么关系。另外你的应用程序不应该依赖于获取字节流。这是不可靠的。它应该取决于从python脚本打包的数据结构。 – pyfunc 2010-11-03 23:35:38

+0

@pyfunc:知道Python如何将字符串打包为字节是相关的。 – 2010-11-04 00:01:53

回答

1

我不知道你在做什么是完全正确的,因为你是你的分段串入不同的分组。这可能会导致多字节字符串的问题。

不过,你不妨看看ByteArrayOutputStream。你可以写这个,然后转换为使用toString(enc),其中enc是你已经在你的Python中的字符串转换成字节摆在首位的编码字符串。

看着下方的评论,看来你需要一些手段,Python和deserialise在Java中连载。除了XML序列化之类的解决方案之外,您是否看过可能的解决方案,如Google Protocol Buffers

+0

谢谢你的回应,更多的澄清,在“包”我送仅仅是持有串和几个整数数组类称为包。我想分解它的唯一原因是因为我不确定如何将整个类转换为字节数组发送到Java服务器。我如何使用传入的Serializable将该类转换为字节? – AedonEtLIRA 2010-11-04 14:58:34