谁能给我个高效、快速的编码?用base64编码的效率和速度都很慢,谁给个好的方法,要附带源码哦
解决方案 »
- 大家帮我看看,代码出问题了。
- ReportBuilder中怎样实现背景图案?
- 散分
- 谁能提供车牌识别系统源代码!!!急。。。。。。。。
- 请问如何用wordapplication和worddocument打开rtf格式的文件
- 请问TStream及其子类是不是线程安全的!!!
- 关于DELPHI中自带的报表控件中QRdbtext或qrdbrichtext自动换行的问题。
- 请教了,我如何做一个dll,并返回多个值呢?
- DELPHI与SQL2000连接不上,请问是不是要在SQL2000中做一些设置啊
- 如何实现的DDBGrid标题的主细标题形式?
- ReportBuilder简单问题
- image1.picture.loadformfile能否装载*.jpg图片呢?
那你想编成怎样的码呢??
procedure DecodeStream(Input, Output: TStream);
function EncodeString(const Input: string): string;
function DecodeString(const Input: string): string;//BASE64挺好的,不知你要到达什么样的速度~~
//拿这几个Delphi6自带的函数测试看看~~
用上面的encodestring编码,需要11秒,编码后1562192字节,本想这个速度快(这个最重要),可惜用起来才发现它编码完的东西含换行符,不能用了
var
S: string;
vTickCount: DWORD;
I: Integer;
begin Randomize;
SetLength(S, 1000000);
for I := 1 to Length(S) do
Byte(S[I]) := Random(256); vTickCount := GetTickCount;
S := EncodeString(S);
Caption := Format('Time:%d Length:%d', [GetTickCount - vTickCount, Length(S)]);
end;处理这个大小,也只是毫秒级别的!怎么可能到秒级~~
并且EncodeString的结果也没有换行符~~
不知道你怎么用的!?(汗)……
var
S: string;
vTickCount: DWORD;
I: Integer;
begin Randomize;
SetLength(S, 1000000);
for I := 1 to Length(S) do
Byte(S[I]) := Random(256); vTickCount := GetTickCount;
S := EncodeString(S);
Button1.Caption := Format('Time:%d Length:%d', [GetTickCount - vTickCount, Length(S)]);
memo1.Text:=s; <------注意这里
end;
为什么memo1中什么都没有?显示不出来?写到文件里倒是有的