function moveByteL(num,bytenum){ return num = (bytenum*8) }
function moveByteR(num,bytenum){ return num >>>= (bytenum*8) }
/script>
在vbs中没有位操作,这样在一个页面中用到了js和vbs,并不好,如果用vbs也可以,不过罗嗦了一些,而且有一点注意,如果在vbs中split("202.102.29.6","."),会得到202,102,29三个数,得不到最后一个6,所以需要将ip换成split("202.102.29.6" ".",".") 我用vbs做的,由于没有位操作,所以做得比较麻烦 % function ip2int(ipstr) dim iptemp,max iptemp = split(ipstr".",".") max = ubound(iptemp) if max > 4 then exit function end if
dim a,b,i a = "H" for i = 0 to 3 b = Hex(iptemp(i)) if len(b) = 1 then b = "0"b end if a = ab next ip2int = CLng(a) end function
function int2ip(ip) dim iptemp,a,ipstr,i,length iptemp = Hex(ip) length = 8 - len(iptemp) for i = 1 to length iptemp = "0" iptemp next a = left(iptemp,2) a = "H" a i = CInt(a) a = CStr(i) ipstr = a "." a = mid(iptemp,3,2) a = "H" a i = CInt(a) a = CStr(i) ipstr = ipstr a "." a = mid(iptemp,5,2) a = "H" a i = CInt(a) a = CStr(i) ipstr = ipstr a "." a = right(iptemp,2) a = "H" a i = CInt(a) a = CStr(i) ipstr = ipstr a int2ip = ipstr end function
dim testIP,testInt testIP="202.102.29.6" testInt = ip2int(testIP) response.write testIP " will be encoded to font color=red>" testInt "/font>br>" response.write testIP " will be dencoded to font color=red>" int2ip(testInt) "/font>br>" %>