|
|
1
5
以下是完整的解决方案,这要感谢基里安兹和里萨特·霍恩斯特拉的暗示。
|
|
|
2
2
我不知道Delphi是如何在内部存储数据的,但是如果它是简单的字节级数据(因此不序列化和损坏),请使用
struct
. 这样就可以将python文件中的字符串视为二进制数据。另外,以二进制方式打开文件
|
|
|
3
2
请注意,在Delphi中定义记录(如C中的struct)时,字段按照当前对齐方式(如字节在1字节边界上对齐、单词在2字节上对齐、整数在4字节上对齐等)的顺序和二进制进行布局,但在编译器设置的情况下,可能会有所不同。 当序列化到一个文件时,您可能意味着这个记录是以二进制形式写入文件的,而下一个记录是在第一个记录之后写入的,从位置sizeof(结构)等开始。delphi没有指定应该如何序列化到/从文件,因此您提供的信息让我们猜测。 如果您想确保它总是相同的,而不受任何编译器设置的干扰,请使用压缩记录。 real可以有多种含义(对于较旧的Delphi版本,它是48位浮点类型,对于较新的64位浮点类型(ieee double))。 如果您不能访问delphi代码或自己编译它,只需使用十六进制编辑器检查数据,您应该清楚地看到记录的边界,因为它们以整数开始,并且只跟随浮动。 |
|
|
user23819755 · 从文件加载的数据未按正确顺序返回 2 年前 |
|
|
Grekys · C数组元素全部变为相同值 2 年前 |
|
|
Deba · 为什么在cin语句中打印空格时,第0个字符没有打印出来? 2 年前 |
|
|
catodd · C-试图将整数和结构数组存储到二进制文件中 2 年前 |
|
|
heapyams · Java可执行文件无法读取资源文件夹[重复] 2 年前 |
|
|
Community wiki · 在文件中插入值 3 年前 |