delphi代码转C#代码中的问题 AllChar:string='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ';后面有个空格? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 AllChar:string 算法没问题吧 allchar没有使用的地方 是,delphi7中char是单字节,c#是unicode的,你都改用byte试试 都改用byte?麻烦指教下,我C#不是很懂,都是依样画葫芦的,谢谢 c#改成如下 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; } +1一个汉字在delphi里的length为2,在C#里的长度为1代码再小改一下 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; } 网站需要加密,就是用SSL 手持机开发-出错后不扫描 C# 用select语句取出多条纪录怎样赋值给变量? 进度条的问题 想学c#,有两个最简单的问题请教? DateTimePicker显示时间的问题 在DataGrid中嵌入ChecBox,你用过么?!!!!!!!!!!!!!!! 问两个简单的C#问题 怎么样设置主、子窗体? 如何开发用户控件? winform页面加载时,如何改变DataGridViewButtonColumn按钮值 DataTable如何删除某一行之后的行
{
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;
}
代码再小改一下 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;
}