我正在遵循这个文件格式的规范:
https://github.com/rouault/dump_gdbtable/wiki/FGDB-Spec
我该如何读取这个?我尝试了BinaryReader.ReadString(),但它返回的是类似以下内容的东西:
这绝对不是正确的。
从规范中:
我能否通过UTF-16字符的数量来读取字段名称?
utf16: string in little-endian UTF-16 encoding
我该如何读取这个?我尝试了BinaryReader.ReadString(),但它返回的是类似以下内容的东西:
"\0e\0y\0w\0o\0r\0d\0\0 \0\0\0\0\rP\0a\0r\0a\0m\0e\0t\0e\0r\0N\0a\0m\0e\0\0 \0\0\0\0\fC\0o\0n\0f\0i\0g\0S\0t\0r\0"
这绝对不是正确的。
从规范中:
ubyte: number of UTF-16 characters (not bytes) of the name of the field
utf16: name of the field
ubyte: number of UTF-16 characters (not bytes) of the alias of the field. Might be 0
utf16: alias of the field (ommitted if previous field is 0)
ubyte: field type ( 0 = int16, 1 = int32, 2 = float32, 3 = float64, 4 = string, 5 = datetime, 6 = objectid, 7 = geometry, 8 = binary, 9=raster, 10/11 = UUID, 12 = XML )
我能否通过UTF-16字符的数量来读取字段名称?
BinaryReader
?你是否使用了指定文本编码的重载? - Damien_The_Unbeliever