关于NMUUProcessor控件编码,解码时的问题
wker 2003-03-09 11:22:34 我用NMUUProcessor控件进行编码、解码时会出现一些问题,比如:
待处理字符串 编码结果 对编码结果进行解码后的结果
NULL(空) NULL(空) 一长串乱码
wangkai_7904 d2FuZ2thaV83OTA0 wangkai_79 (少两位)
以下是我的代码,请各位大侠指点:
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Edit2->Text = Encoder(Edit1->Text);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit3->Text = Decoder(Edit2->Text);
}
//---------------------------------------------------------------------------
String __fastcall TForm1::Encoder(String source)
{//±àÂë
NMUUProcessor->Method = uuMime;
String Object;
TStringStream* InStream = new TStringStream(source);
TStringStream* OutStream = new TStringStream(Object);
try
{
NMUUProcessor->InputStream = InStream;
NMUUProcessor->OutputStream = OutStream;
NMUUProcessor->Encode();
Object = OutStream->DataString;
}
catch(...)
{
Application->MessageBoxA("编码失败","提示信息",MB_OK);
Object = source;
delete InStream;
delete OutStream;
return Object;
}
delete InStream;
delete OutStream;
return Object;
}
//---------------------------------------------------------------------------
String __fastcall TForm1::Decoder(String source)
{
NMUUProcessor->Method = uuMime;
String Object;
TStringStream* InStream = new TStringStream(source);
TStringStream* OutStream = new TStringStream(Object);
try
{
NMUUProcessor->InputStream = InStream;
NMUUProcessor->OutputStream = OutStream;
NMUUProcessor->Decode();
Object = OutStream->DataString;
}
catch(...)
{
Application->MessageBoxA("解码失败","提示信息",MB_OK);
Object = source;
delete InStream;
delete OutStream;
return Object;
}
delete InStream;
delete OutStream;
return Object;
}