[转]ASP实现关键词获取(各搜索引擎,GB2312及UTF-8)(5)


 ’比如:输入“C2”,转化成“11000010”,其中1100是"c"是10进制的12(1100),那么2(10)不足4位要补齐成(0010)。
 dim tempstr
 dim i:i=0’临时的指针
 for i=1 to len(trim(x))
  tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
  do while len(tempstr)<4
   tempstr="0" & tempstr’如果不足4位那么补齐4位数
  loop
  c16to2=c16to2 & tempstr
 next
end function
function c2to16(x)
  ’2进制到16进制的转换,每4个0或1转换成一个16进制字母,输入长度当然不可能不是4的倍数了
  dim i:i=1’临时的指针
  for i=1 to len(x)  step 4
   c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
  next
end function
function c2to10(x)
  ’单纯的2进制到10进制的转换,不考虑转16进制所需要的4位前零补齐。
  ’因为这个函数很有用!以后也会用到,做过通讯和硬件的人应该知道。
  ’这里用字符串代表二进制
   c2to10=0
   if x="0" then exit function’如果是0的话直接得0就完事
   dim i:i=0’临时的指针
   for i= 0 to len(x) -1’否则利用8421码计算,这个从我最开始学计算机的时候就会,好怀念当初教我们的谢道建老先生啊!
    if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i)
   next
end function
function c10to2(x)
’10进制到2进制的转换
  dim sign, result
  result = ""
  ’符号
  sign = sgn(x)
  x = abs(x)
  if x = 0 then
    c10to2 = 0
    exit function
  end if
  do until x = "0"
    result = result & (x mod 2)
    x = x \ 2
  loop
  result = strReverse(result)
  if sign = -1 then
    c10to2 = "-" & result
  else
    c10to2 = result
  end if
end function
function URLDecode(enStr)
  dim  deStr,strSpecial
  dim  c,i,v
  deStr=""
  strSpecial="!""#$%&’()*+,/:;<=>?@[\]^`{ |}~%"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3316.html