-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle Integers correctly #20
Comments
How odd. So the sign is reversed, and also it is 32 bits instead of 64: Lines 57 to 58 in 6b4ef1a
Are integers in practice mostly encoded as type N without decimals, and that this therefore hasn't really been an issue before? Regardless would be good to fix. |
Yeah this is a pretty weird format. I think yes, mostly .dbf uses string numbers like |
According to this http://www.independent-software.com/dbase-dbf-dbt-file-format.html
Hmm maybe its not so clear what ODBC uses. |
dc0cafb mentions dBase III+ / xBase. Most of that code is still the same as far as dBase support. Later I used the references under https://github.com/JuliaData/DBFTables.jl#format-description-resources, of which the .dk site mentions:
So I wouldn't say this package is based on v7, but older versions, that seem to be more commonly used with shapefiles. |
Ok so its dbase III with some types mixed in from later versions and Fox Pro. This python package has another breakdown of the versions: Maybe for correctness and simplicity we should only support dBase III ? I still don't understand the |
That is basically what people call xBase it seems. This is what Wikipedia says:
So far my approach wasn't to implement a spec, but to add what is needed based on real world data. |
Yes that blog post linked above for the .Net version seems to say the same thing, the spec for early versions is unclear. It's hilarious how widely this is used in GIS given there is no concrete spec |
From the dbase spec
A zero sign bit means negative numbers. E.g. not a regular julia/C
Int32
at all:The text was updated successfully, but these errors were encountered: