这是对方服务器回传的信息,其中是否已经作了一定的加密处理(可能也不是加密,某些系统,如lotus对中文肯定会做这样的处理),所以可能要对方才能解释
解决方案 »
- Delphi中接口、类、与继承的问题
- 在DBGRID中的一個表格的PICKLIST中選一個值,在它的下一列的一個表格中馬上顯示另一個與之關聯的值
- activex 问题
- 关于在DELPHI里对EXCEL的操作
- 你们说我的分都没有了该怎么办?最后几分还是要给的,一个StringGrid问题
- 我在使用fastreport中的PrintTable控件生成报表时,如何在报表中实现动态设置报表的打印纸是A3的还是A4的?
- 怎样统计DBGRID的行数?
- 如何减小生成的EXE文件大小等?
- 关于dll的问题
- 求教,怎样提高写入记录进数据库的速度
- 如何使用QReport 控件控制预览/打印 页的范围?
- 天啊!!!!这个小问题我都摆不平!!高手救命!!!!关于二进制字段存取!!!
(搜索“NMTP”或"MIME"等)
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}uses
Math;const
cScaleChar = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';function IntToDigit(mNumber: Integer; mScale: Byte; mLength: Integer = 0): string;
var
I, J: Integer;
begin
Result := '';
I := mNumber;
while (I >= mScale) and (mScale > 1) do begin
J := I mod mScale;
I := I div mScale;
Result := cScaleChar[J + 1] + Result;
end;
Result := cScaleChar[I + 1] + Result;
if mLength > 0 then
for I := 1 to mLength - Length(Result) do
Result := '0' + Result;
end; { IntToDigit }function DigitToInt(mDigit: string; mScale: Byte): Integer;
var
I: Byte;
L: Integer;
begin
Result := 0;
L := Length(mDigit);
for I := 1 to L do
Result := Result + (Pos(mDigit[L - I + 1], cScaleChar) - 1) *
Trunc(IntPower(mScale, I - 1));
end; { DigitToInt }const
cBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function Base64Decode(mCode: string): string;
var
I, L: Integer;
S: string;
T: string;
begin
Result := '';
L := Length(mCode);
I := 1;
while I <= L do begin
if Pos(mCode[I], cBase64) > 0 then begin
S := Copy(mCode, I, 4);
if (Length(S) = 4) then begin
T := IntToDigit(Pos(S[1], cBase64) - 1, 2, 6) +
IntToDigit(Pos(S[2], cBase64) - 1, 2, 6) +
IntToDigit(Pos(S[3], cBase64) - 1, 2, 6) +
IntToDigit(Pos(S[4], cBase64) - 1, 2, 6);
Result := Result + Chr(DigitToInt(Copy(T, 01, 8), 2));
if S[3] <> '=' then begin
Result := Result + Chr(DigitToInt(Copy(T, 09, 8), 2));
if S[4] <> '=' then
Result := Result + Chr(DigitToInt(Copy(T, 17, 8), 2));
end;
end;
Inc(I, 4);
end else Inc(I);
end;
end; { Base64Decode }procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := Base64Decode('xOO6ww==');
end;end.