关于自己定制文件格式的问题(100分)

  • 主题发起人 主题发起人 Alphazw
  • 开始时间 开始时间
A

Alphazw

Unregistered / Unconfirmed
GUEST, unregistred user!
现在请教各位,如何定制一个自已的文件格式?就像是FlasgGet的数据库文件那样或者像其它软件
数据文件一样的那种,我知道要用到Stream,可是如何做出一个像别的文件格式那样的,用普通的
文本编辑器打开会显示一些看不懂的字符?
请知道的大侠在此留下妙解。谢谢。或者发邮件到:zhangwei5020@sohu.com
 
呵呵,象普通文件一样就行了.
只要在写入字符串时进行加密处理就是了(简单的异或就行)!
读入的时候再处理一次就行了!
 
没有这么简单。
在确定一个文件的格式的时候我想应当让它的效率最高。就像我么在使用数据库的时候要选
一种比较快的数据库,或者说是选择一种比较快的文件格式吧!
 
呵呵,很复杂吗?
; ; 兄可以看看FlashGet的*.JCD,其实它还是一个普通的记录文件,
只是加上一个25个字节的头部而已,连里面的内容也是可读的(当然,
也没有必要加密).
; ; 如果要谈高效率,那么单一的文件是不行的,可能得加上一些类型于
索引的记录文件,如果一个文件与几个索引合在一起成一个文件也行,不
过这个太复杂了,你不是想要写一个数据库引擎吧?
 
这么说来,像OICQ2000和KV3000之类的软件所使用的这类文件是不是都可以说是已经加过密了?
能不能给一个例子,我想要那种写入的文件格式是16进制的那种,用一般的方法写入的都是文本
可是被随意的看懂。能不能给个写成16进制文件格式的源程序?
 
没有人能够回答这个问题吗?还是这个问题太过于简单了?
 
自己定义,当然简单,首先处理文件,然后读入连表处理。你对连表熟悉么?
 
说简单不简单,说复杂不复杂
想简单就简单,想复杂就复杂
废话,等于没说!

你用文本编辑器打开任意一个非文本文件都“会显示一些看不懂的字符”,跟加不加密有什么关系?
 
那么像Wps2000那样的软件的文件格式不会也是用Stream之类写进去的吧?我想那里面使用的汇编
谁可以讲一讲它们是如何做出来那样的格式文件的呢?
 
Wps是专有格式,只要知道它的结构,用Stream之类照样可以写进去。
自己定义一个文件类型,加上一些类型如索引的记录,加密即可!
 
YB_unique:那以,你能不能给个例子,让用stream写入的数据不经过加密也看不出内容来。
crowzw@163.net
 
//写入的数据不经过加密也看不出内容???
什么意思??? 什么才叫看不出内容???
 
我的意思是不会像文本文件那样,把要写入的数据一览无余。就是显示一些乱码。有一些显示
成乱码的文件是不是16进制格式的?
 
代码:
var 
 ;  ;ts:tmemorystream;
 ;  ;sTemp:string;
 ;  ;iCur:integer;
begin
 ;  ;sTemp:='test';
 ;  ;for iCur:=1 to length(sTemp) do 
 ;  ;begin
 ;  ;ts.writebuffer(Byte(sTemp[iCur]),1);
 ;  ;end;
 ;  ;ts.savetofile('a.dat');
 ;  ;FreeAndNil(ts);
end;
 
SuperJS:你可以讲一下buffer到底是做什么用的吗?我一直没有弄明白它是什么意思。谢谢了。
 
结束此问题的讨论!--Alphazw
 
后退
顶部