我们的表有时会因“ Not a table”错误而损坏。运行DBF Doctor的演示版,它报告标题具有错误的记录计数。
看着我能找到的一个例子,我不太确定如何弄清楚如何使用基数256计算记录数。
字节4-7具有DBF中的记录数。
([https://www.dbf2002.com/dbf-file-format.html)
我使用小型Java程序从DBF标头读取的前10个字节是:
0 -> 0
1 -> 20
2 -> 3
3 -> 31
4 -> 81
5 -> 113
6 -> 0
7 -> 0
8 -> 0
9 -> 0
10-> 0
任何人都可以帮我弄清楚如何计算DBF中的记录数吗?
想看看我是否可以编写一个快速实用程序来解决此问题。
谢谢,
您可以通过乘以256来计算行。对于每个字节(从最低到最高),您必须将该字节的值乘以(256 ^ n)。
例如:
81 = 81
113 * 256 = 28928
0 * 256 * 256 = 0
0 * 256 * 256 * 256 = 0
81 + 28928 + 0 + 0 = 29009
this thread中也讨论了该计算,但是它是FoxPro代码。
通过使用Hex-Editor查看您的dbf,可以更好地理解此主题。>>