Сети ЭВМ и телекоммуникации. Лясин Д.Н - 45 стр.

UptoLike

Составители: 

45
рования/декодирования. Свойство property OutputStream: TFileStream; задает
соответственно выходной поток. Свойство Method задает тип используемой
кодировки, uuMime для MIME/BASE64 и uuCode для UUE. Преобразование
выполняется при помощи методов Encode и Decode. События OnBeginEncode
и OnEndEncode возникают соответственно перед началом операции кодиро-
вания и после завершения операции кодирования. Аналогичные события
OnBeginDecode и OnEndDecode возникают для операции декодирования. Ис-
пользование потоков позволяет эффективно работать с большими
объемами
данных, например, используя файловые потоки. Для работы с обычными
строками использование компонента TNMUUProcessor может выглядеть сле-
дующим образом.
AnsiString InStr="gst:gst",OutStr;
TMemoryStream *InStream,*OutStream;
char *TempStr;
InStream=new TMemoryStream();
OutStream=new TMemoryStream();
InStream->Clear();
InStream->Write(InStr.c_str(),InStr.Length());
NMUUProcessor1->InputStream=InStream;
NMUUProcessor1->OutputStream=OutStream;
NMUUProcessor1->Encode();
// NMUUProcessor1->Decode();
TempStr= new char[OutStream->Size+1];
OutStream->Read(TempStr,OutStream->Size);
TempStr[OutStream->Size]=0;
OutStr="Authorization: Basic "+AnsiString(TempStr);
delete TempStr;
рования/декодирования. Свойство property OutputStream: TFileStream; задает
соответственно выходной поток. Свойство Method задает тип используемой
кодировки, uuMime для MIME/BASE64 и uuCode для UUE. Преобразование
выполняется при помощи методов Encode и Decode. События OnBeginEncode
и OnEndEncode возникают соответственно перед началом операции кодиро-
вания и после завершения операции кодирования. Аналогичные события
OnBeginDecode и OnEndDecode возникают для операции декодирования. Ис-
пользование потоков позволяет эффективно работать с большими объемами
данных, например, используя файловые потоки. Для работы с обычными
строками использование компонента TNMUUProcessor может выглядеть сле-
дующим образом.
   AnsiString InStr="gst:gst",OutStr;
   TMemoryStream *InStream,*OutStream;
   char *TempStr;
   InStream=new TMemoryStream();
   OutStream=new TMemoryStream();
   InStream->Clear();
   InStream->Write(InStr.c_str(),InStr.Length());
   NMUUProcessor1->InputStream=InStream;
   NMUUProcessor1->OutputStream=OutStream;
   NMUUProcessor1->Encode();
   // NMUUProcessor1->Decode();
   TempStr= new char[OutStream->Size+1];
   OutStream->Read(TempStr,OutStream->Size);
   TempStr[OutStream->Size]=0;
   OutStr="Authorization: Basic "+AnsiString(TempStr);
   delete TempStr;




                                        45