delphi把文本写入二进制文件 就是程序在保存的时候会把一些中文文本存到本地 但是通过其他程序打不开,就算打开也是一堆乱码然后程序再次运行的时候把本地的乱码又恢复成中文文本怎么实现啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.Button1Click(Sender: TObject);var mstrean:TMemoryStream; SS:TStringStream;begin mstrean:=TMemoryStream.Create; SS:=TStringStream.Create(''); mstrean.LoadFromFile('D:\cst-Desktop\1.txt'); //加载文本的流 EncodeStream(mstrean,SS); //将文本流转换成字符串 memo1.Text:=SS.DataString; //我这里暂时输出到Memo1中end;procedure TForm1.Button2Click(Sender: TObject);var mstrean:TMemoryStream; SS:TStringStream;begin mstrean:=TMemoryStream.Create; SS:=TStringStream.Create(Memo1.Text); //加载Memo1中转换过的流 DecodeStream(SS,mstrean); //将Memo1中的流字符串转换成流 mstrean.SaveToFile('D:\cst-Desktop\2.txt'); //最后流输出,和原来的文件对比,是一样的。end; http://download.csdn.net/detail/a215107822/4174069我的资源,你可以下过来看看 把文本导入,转换成DAT格式的文件不就是了。使用方法:文件方式存取 MD5加密貌似是单向的,程序再次打开貌似解密不回来吧,呵呵。2楼说的以内存流方式写入,是种可行的方案,但需要将写入的内容做些简单的转换才行。例如,如果要写入的内存流为 41 31 C2 EB (为16进制表示的'A1码'),在写入时,将每个字节与任意字符(这里我们用T)做异或,得到新的内存流 15 65 96 BF ('e柨')看起来就是乱码了。在读出时,将内存流与同一个字符再做次异或,数据就还原了。 Indy 自带了一堆的控件 。有一个叫 Base64 的 加密和解密的。你可以试试 难道都失踪了吗?ALL dbgrideh 急急急急积极 我的delphi版本升级之路,分只给新手三个星星以下的,老鸟勿进,抱歉 求SQL语句,也许很难也,许很简单。与除零有关!!! 关于文件?? 想请教如何在主程序中调用DLL中的窗体? QuickReport 为何只能打印一行数据?且不打印columnband 寻找《delphi构建进销存系统--pos应用实例》一书所附光盘的源代码。 关于ini文件的处理(类似数据库) 这个问题(关于窗口)怎样解决? Oracle 的数据库布置购买问题 idhttp在post表单的问题
var
mstrean:TMemoryStream;
SS:TStringStream;
begin
mstrean:=TMemoryStream.Create;
SS:=TStringStream.Create('');
mstrean.LoadFromFile('D:\cst-Desktop\1.txt'); //加载文本的流
EncodeStream(mstrean,SS); //将文本流转换成字符串
memo1.Text:=SS.DataString; //我这里暂时输出到Memo1中
end;procedure TForm1.Button2Click(Sender: TObject);
var
mstrean:TMemoryStream;
SS:TStringStream;
begin
mstrean:=TMemoryStream.Create;
SS:=TStringStream.Create(Memo1.Text); //加载Memo1中转换过的流
DecodeStream(SS,mstrean); //将Memo1中的流字符串转换成流
mstrean.SaveToFile('D:\cst-Desktop\2.txt'); //最后流输出,和原来的文件对比,是一样的。
end;
使用方法:文件方式存取
2楼说的以内存流方式写入,是种可行的方案,但需要将写入的内容做些简单的转换才行。
例如,如果要写入的内存流为 41 31 C2 EB (为16进制表示的'A1码'),在写入时,将每个字节与任意字符(这里我们用T)做异或,得到新的内存流 15 65 96 BF ('e柨')看起来就是乱码了。
在读出时,将内存流与同一个字符再做次异或,数据就还原了。
你可以试试