110,567
社区成员
发帖
与我相关
我的任务
分享
function Enc(sInput: string): string;stdcall;
Const
AllChar:string='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ';
Var
sOutput :string;
iPin:byte;
A: Boolean;
begin
Result := '';
if sInput = '' Then
sOutput := ''
else
begin
A := False;
if Length(sInput) Mod 2 = 1 then
begin
A := True;
sInput := sInput + '_';
end;
for iPin:=1 to Length(sInput) do
begin
sOutput := sOutput+Char(Ord(sInput[iPin]) + 128);
end;
if A then sOutput := sOutput + '_';
end;
Result := PChar(Trim(sOutput));
end;
,我转换成C#,是这样写的:public string Enc(string sInput)
{
string AllChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string sOutput;
byte iPin;
Boolean A;
int len = 0;
Int32 K = 0;
sOutput = "";
if (sInput == "") sOutput = "";
else
{
A = false;
len = sInput.Length;
if (len % 2 == 1)
{
A = true;
sInput = sInput + "_";
}
for (iPin = 0; iPin < len; iPin++)
{
K = Convert.ToInt32(sInput[iPin]);
sOutput = sOutput + (char)(Convert.ToInt32(sInput[iPin])+128);
}
if (A == true)
{
sOutput = sOutput + "_";
}
}
return sOutput;
}
public string Enc(string sInput)
{
string AllChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string sOutput;
byte iPin;
Boolean A;
int len = 0;
Int32 K = 0;
sOutput = "";
byte[] bs = Encoding.Default.GetBytes(sInput);
byte[] outbs = new byte[bs.Length];
if (sInput == "") sOutput = "";
else
{
A = false;
len = bs.Length;
if (len % 2 == 1)
{
A = true;
sInput = sInput + "_";
bs = Encoding.Default.GetBytes(sInput);
len = bs.Length;
}
for (iPin = 0; iPin < len; iPin++)
{
outbs[iPin] = (byte)(Convert.ToInt32(bs[iPin]) + 128);
}
}
sOutput = Encoding.Default.GetString(outbs);
return sOutput;
}
public string Enc(string sInput)
{
string AllChar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
string sOutput;
byte iPin;
Boolean A;
int len = 0;
Int32 K = 0;
sOutput = "";
byte[] bs = Encoding.Default.GetBytes(sInput);
byte[] outbs = new byte[bs.Length];
if (sInput == "") sOutput = "";
else
{
A = false;
len = bs.Length;
if (len % 2 == 1)
{
A = true;
sInput = sInput + "_";
}
for (iPin = 0; iPin < len; iPin++)
{
outbs[iPin] = (byte)(Convert.ToInt32(bs[iPin]) + 128);
}
}
sOutput = Encoding.Default.GetString(outbs);
return sOutput;
}