首先我使用python写入整数:
out.write( struct.pack(">i", int(i)) );
然后我在Java中使用DataInputStream.readInt()
读取整数
我工作,但当它试图读取数字10,也可能是其他一些数字,
它开始读垃圾。
读数字:
0, 4, 5, 0, 5, 13, 10, 1, 5, 6
Java读取:
0, 4, 5, 0, 5, 13, 167772160, 16777216, 83886080
我做错了什么?
答案 0 :(得分:7)
心理调试:您使用以下代码在Windows上以文本模式编写输出:
f = open("output.dat", "w")
f.write(my_data)
这使你的13(这是换行符)成为回车/换行符(10,13)。
您需要以二进制模式编写输出:
f = open("output.dat", "wb")
f.write(my_data)