求助,关于C#中调用JS(winform)

xiangwei315 2012-03-08 09:47:31
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
}
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangwei315 2012-03-08
  • 打赏
  • 举报
回复
再请教个问题,js中fromCharCode可以用c#哪个代替
xiangwei315 2012-03-08
  • 打赏
  • 举报
回复
其实也不用,我相信应该不会这个也模拟错误吧。

private string base64(string str)
{
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;
}
xiangwei315 2012-03-08
  • 打赏
  • 举报
回复
我是用httpwebrequest模拟get操作 get后面的地址,是用一个JS生成的乱码。

我是winform程序,不是web,应该是不能直接调用吧。

我就是两年没用C#了,模拟上面的位操作,不知道是不是我模拟错误,导致结果不对,哪位哥们,模拟一下
bdmh 2012-03-08
  • 打赏
  • 举报
回复
第一,自己转换成c#代码,没什么难理解的,都是位操作
第二,你这个js在哪呢,如果是在你自己的asp页面上,是可以通过c#代码调用的
EnForGrass 2012-03-08
  • 打赏
  • 举报
回复
貌似是可以的,你搜一下。实在不行你用webservice也行

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧