winform好像没有办法调用JS那如果我用代码模拟JS里面的函数应该是可行的吧,可奇怪就是不行,不知道是不是我模拟错误,麻烦哪个哥们有空,帮忙用C#模拟一下,下面的JS代码?var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function base64(str)
{
var out,i,len;
var c1,c2,c3;
len=str.length;
i=0;
out="";
while(i<len)
{
c1=str.charCodeAt(i++)&255;
if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt((c1&3)<<4);
out+="==";break
}
c2=str.charCodeAt(i++); if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));
out+=base64EncodeChars.charAt((c2&15)<<2);
out+="=";
break
}
c3=str.charCodeAt(i++);
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));
out+=base64EncodeChars.charAt(((c2&15)<<2)|((c3&192)>>6));
out+=base64EncodeChars.charAt(c3&63)
}
return out
}
{
var out,i,len;
var c1,c2,c3;
len=str.length;
i=0;
out="";
while(i<len)
{
c1=str.charCodeAt(i++)&255;
if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt((c1&3)<<4);
out+="==";break
}
c2=str.charCodeAt(i++); if(i==len)
{
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));
out+=base64EncodeChars.charAt((c2&15)<<2);
out+="=";
break
}
c3=str.charCodeAt(i++);
out+=base64EncodeChars.charAt(c1>>2);
out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));
out+=base64EncodeChars.charAt(((c2&15)<<2)|((c3&192)>>6));
out+=base64EncodeChars.charAt(c3&63)
}
return out
}
第二,你这个js在哪呢,如果是在你自己的asp页面上,是可以通过c#代码调用的
{
int i = 0, len = str.Length;
string outstr = string.Empty;
string base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
while (i < len)
{
int c1 = str.ElementAt(i++) & 255;
if (i == len)
{
outstr += base64EncodeChars.ElementAt(c1 >> 2);
outstr += base64EncodeChars.ElementAt((c1 & 3) << 4);
outstr+="==";
break;
}
int c2 = str.ElementAt(i++);
if (i == len)
{
outstr += base64EncodeChars.ElementAt(c1 >> 2);
outstr += base64EncodeChars.ElementAt(((c1 & 3) << 4) | ((c2 & 240) >> 4));
outstr += base64EncodeChars.ElementAt((c2 & 15) << 2);
outstr += "=";
break;
}
int c3 = str.ElementAt(i++);
outstr += base64EncodeChars.ElementAt(c1 >> 2);
outstr += base64EncodeChars.ElementAt(((c1 & 3) << 4) | ((c2 & 240) >> 4));
outstr += base64EncodeChars.ElementAt(((c2 & 15) << 2) | ((c3 & 192) >> 6));
outstr += base64EncodeChars.ElementAt(c3 & 63);
}
return outstr;
}