我被使用sql server存储数据或使用xml文件破坏了。将数据存储在平面文件中的软件,常见的编码/文件格式技术
将数据存储在除xml和CSV以外的平面文件中的常用技术是什么?
我知道很多次,当我打开文件,数据都混乱起来,这意味着它是正确的编码?
有什么常见的技术可以在某处阅读吗?
我被使用sql server存储数据或使用xml文件破坏了。将数据存储在平面文件中的软件,常见的编码/文件格式技术
将数据存储在除xml和CSV以外的平面文件中的常用技术是什么?
我知道很多次,当我打开文件,数据都混乱起来,这意味着它是正确的编码?
有什么常见的技术可以在某处阅读吗?
取决于您的要求。如果它需要人类可读的话,那么YAML,XML和CVS都很好。
但是,如果您需要性能或存储二进制值(比如8个字节的double),那么我个人使用Java的优秀DataOutputStream和DataInputStream创建自己的文件格式。但创建自己的格式时要小心。您通常不想与世界分享,否则您需要关心安全性和可扩展性。您将始终关心数据完整性,并可能添加一些crc校验和。
它很难得到自定义二进制文件正确,所以确保你真的需要一个,并寻求帮助!
YAML是一种适用于所有编程语言的人性化数据序列化标准。
实施例(同样,from the site):
下面是通过YAML(TM)表示的发票 的一个例子。结构通过缩进(一个或多个 空格)显示为 。序列项目由 短划线表示,并且 映射内的键值对由冒号分隔。
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
的文件都为“混乱的”,并不意味着它的编码。它只意味着它以某种二进制格式保存,而不是文本格式。
当您以二进制格式保存时,只需将数据按原样写入程序存储器即可。为instace编写一个整数,你直接写入整数的4个字节,而不是将其转换为文本。这具有节省空间的优点。
如果你用记事本打开这样的文件,你将会看到的是随机字符。
出于完整性,我会提到陈旧的.ini format,但我无法想象不会用XML或YAML编写平面文件数据。
但是还是要有某种结构,这就是我所说的混乱(对我来说)。谢谢。 – Blankman 2008-12-19 19:51:38
不是真的 - 它可能只是一个字符串或一个很长的整数或*任何* – annakata 2008-12-19 19:53:55