读取使用python的struct.pack方法编写的java整数时出现问题

读取使用python的struct.pack方法编写的java整数时出现问题,java,python,Java,Python,首先,我使用python编写整数: out.write struct.pack>i,inti 然后,我使用Java中的DataInputStream.readInt读取整数。 我工作,但当它试图读取数字10时,可能还有其他一些数字, 它开始读垃圾。 阅读数字: 0, 4, 5, 0, 5, 13, 10, 1, 5, 6 Java阅读: 0,4,5,0,5,13,167772160,16777216,83886080 我做错了什么?心理调试:您在Windows上以文本模式编写输出,代码如下: f

首先,我使用python编写整数: out.write struct.pack>i,inti

然后,我使用Java中的DataInputStream.readInt读取整数。 我工作,但当它试图读取数字10时,可能还有其他一些数字, 它开始读垃圾。 阅读数字: 0, 4, 5, 0, 5, 13, 10, 1, 5, 6 Java阅读: 0,4,5,0,5,13,167772160,16777216,83886080


我做错了什么?

心理调试:您在Windows上以文本模式编写输出,代码如下:

f = open("output.dat", "w")
f.write(my_data)
这使得你的13号线变成了回车/换行10号线,13号线

您需要以二进制模式写入输出:

f = open("output.dat", "wb")
f.write(my_data)

当然必须以二进制模式写入才能写入二进制数据。我甚至没有想到。谢谢