菜鸟请教PHP函数用.net重写的问题

问题描述

原PHP函数functiondecodeaddr($p){$a=0;$s=0;$d=strlen($p);$f="";$g=-1;$h=0;$count=0;for($j=0;$j<$d;$j++){//for($j=20;$j<$d;$j++){$k=ord($p[$j]);$k=($k==95)?63:(($k==44)?62:(($k>=97)?($k-61):(($k>=65)?($k-55):($k-48))));$s=($s*LT_count2n(6))+$k;$a+=6;while($a>=8){$l=(int)($s/LT_count2n(($a-8)));if($h>0){$g=($g*LT_count2n(6))+($l&(0x3f));$h--;if($h==0){$f.=chr($g%256);$f.=chr($g/256);//echo$g."<br/>";}}else{if($l>=224){$g=$l&(0xf);$h=2;}elseif($l>=128){$g=$l&(0x1f);$h=1;}else{$f.=chr($l%256);$f.=chr($l/256);//echo$l."<br/>";};};$s=$s-($l*LT_count2n(($a-8)));$a-=8;};};returniconv('UCS-2LE','UTF-8',$f);};

用.net重写的函数:privatestringDecodeAddr(stringp){inta=0;ints=0;intd=p.Length;StringBuilderf=newStringBuilder();intg=-1;inth=0;intcount=0;inti=0;//intk=0;EncodingUCS2=Encoding.GetEncoding("UCS-2");//for(intj=20;j<d;j++)for(intj=0;j<d;j++){intk=Convert.ToInt32(p[j]);k=(k==95)?63:((k==44)?62:((k>=97)?(k-61):((k>=65)?(k-55):(k-48))));s=(s*Count2n(6))+k;a+=6;while(a>=8){i=(int)(s/Count2n((a-8)));if(h>0){g=(g*Count2n(6))+(i&(0x3f));h--;if(h==0){f.Append((char)(g%256));f.Append((char)(g/256));}}else{if(i>=224){g=i&(0xf);h=2;}elseif(i>=128){g=i&(i%0x1f);h=1;}else{f.Append((char)(i%256));f.Append((char)(i/256));}}s=s-(i*Count2n((a-8)));a-=8;}}returnEncoding.Default.GetString(Encoding.Convert(Encoding.GetEncoding("UCS-2"),Encoding.UTF8,Encoding.UTF8.GetBytes(f.ToString())));}

其中两个函数的参数都为:vRc_vBYSvvo1vBYjvR6nvRY2xxoCvRwtvwU0wBUlwPc4wB,HxxoCvPscvhIovQwUwPcfvBYjvQscvOoNvxgcCJWmvx6pvQI4但是解析出来值不一样 我用.net重写的解析出来有一部分是乱码 求各位大哥指点

解决方案

解决方案二:
补充两个函数:php的functionLT_count2n($n){$i=1;$num=1;while($i<=$n){$num=$num*2;$i++;}return$num;}

.net的:privateintCount2n(intnum){inti=1;intnumber=1;while(i<=num){number=number*2;i++;}returnnumber;}

求各位大牛指导在线等急谢谢

时间: 2024-11-01 17:30:45

菜鸟请教PHP函数用.net重写的问题的相关文章

小小菜鸟请教jsp页面动态添加多行input,输入完成后,添加到后台action

问题描述 小小菜鸟请教jsp页面动态添加多行input,输入完成后,添加到后台action 姓名 年龄 这三行input是使用jquery动态添加的,现在就是想实现jsp页面三行一起,提交数据到action,保存到数据库中.现在就是想请教各位大神,jsp怎么保存数据,action中怎么具体实现......实在是疯了.使用的struts2+spring+hibernate框架, 解决方案 你看看把input标签的name改成name[],后台获取这个数组我php项目是这么获取的,后台接受name[

IOS开发ipad的一个应用 这个界面是怎么搭建的 都是什么控件 菜鸟请教

问题描述 IOS开发ipad的一个应用 这个界面是怎么搭建的 都是什么控件 菜鸟请教 解决方案 searchBar tableView 自定义cell 自定义view imageView 主要就是那个tableView 解决方案二: 这些都是控件名字 我想问的是左边四个按钮 中间滚动视图 右边显示界面 着三个模块是基于一个框架(uisplitview)还是个字独立的 中间的界面跳转是怎么实现的 tanks 解决方案三: 这些都是控件名字 我想问的是左边四个按钮 中间滚动视图 右边显示界面 着三个

小菜鸟请教easyui中页面中取值

问题描述 小菜鸟请教easyui中页面中取值 就是想在url的action中可以取到值, 额 小问题 ,麻烦各位了,谢谢 解决方案 连接遍历字符串闭合错了,应该这样 url:"crmuserAction!findByPage.action?suoshubumen="+a,

菜鸟请教,asp.net 网站的开发基础

问题描述 菜鸟请教各位大虾,请不吝赐教啊:1.有没有一本书,介绍某个知名网站的开发过程,团队合作.流程图以及主要代码的?2.关于美工和程序员的协作要求,即美工在设计过程中如何配合程序员呢? 解决方案 解决方案二:貌似木有解决方案三:帮顶了,美工如何配合的问题,主要是分工了,美工可以设计页面并制作,或者仅制作,由程序员设计.解决方案四:如果你有开发基础,就是基本的基础知识,你还是去找本有关于网站开发项目的书对做做上面的实例,你就会明白一些吧.解决方案五:有大把时间来写书的,也许他就没大把时间做项目

easyui-小菜鸟请教各位动态添加删除jsp页面一行input表格

问题描述 小菜鸟请教各位动态添加删除jsp页面一行input表格 主要是点击增加按钮,实现添加一行input单元格,并可以删除 麻烦各位了,谢谢,http://ask.csdn.net/my# 解决方案 给你一个纯js的样例,希望对你的基础能力有帮助 function DeleteRouteTable(divId, riF, nameF, msgF){ this.riField = riF; this.nameField = nameF; this.msgField = msgF; var di

菜鸟请教android波形图的问题

问题描述 菜鸟请教android波形图的问题 通过录音获取到的原始PCM数据,怎么展示其波形图,不是动态的展示,是静态的 解决方案 先计算好绘图区域,然后根据最大值最小值自己绘图区域的top和bottom做一个比例关系计算,就可以得到数值对应的坐标,剩下的就是画了 解决方案二: http://download.csdn.net/detail/hugion/5163885 解决方案三: http://www.docin.com/p-787343381.html 解决方案四: matlab的话,直接

框架-菜鸟请教个问题,请大神帮忙解答!!

问题描述 菜鸟请教个问题,请大神帮忙解答!! 我的网站本身是个框架,上左右结构的,点击左边的菜单,右边出现网页.之前没问题,但是现在需要在打开的网页(这个网页是超链接www.xxx.com)也是个框架结构,我需要点击这个网页中的某个标签才能最终到达我需要的这个网页,但是单独超链接到这个网页却不行(www.xxx.com/123.jsp),怎么样做才能保持xxx网站框架存在的情况下直接超链接到123.jsp呢? 解决方案 请问你点击的那个标签有操作数据的功能吗? 解决方案二: 在WebRoot目录

dsp-DSP菜鸟请教DSP入门问题

问题描述 DSP菜鸟请教DSP入门问题 作为一个dsp菜鸟,为了能好找工作,着手学dsp,手中有一个项目的代码,但是不知从何看起...望大神能予以指导- 解决方案 DSP入门看DSP入门

小菜鸟请教easyui中嵌套iframe的问题

问题描述 小菜鸟请教easyui中嵌套iframe的问题 想在src里面传值比如src="crmuserAction!management.action?type="+p; 怎么才能实现呢? 麻烦各位大神,谢谢. 解决方案 直接连接你的参数就好了.. content:'<iframe src="crmuserAction!management.action?type='+p+'" frameborder="0"......' 解决方案二: