google关键字解码函数

原创 2006年06月22日 16:42:00

在做网站统计时,有时要统计来自google的关键词,就要对google关键词进行解码。如下函数可以实现此功能。

<%  
  function   UTF2GB(UTFStr)    
        for   Dig=1   to   len(UTFStr)    
                if   mid(UTFStr,Dig,1)="%"   then    
                        if   len(UTFStr)   >=   Dig+8   then    
                                GBStr=GBStr   &   ConvChinese(mid(UTFStr,Dig,9))    
                                Dig=Dig+8    
                        else    
                                GBStr=GBStr   &   mid(UTFStr,Dig,1)    
                        end   if    
                else    
                        GBStr=GBStr   &   mid(UTFStr,Dig,1)    
                end   if    
        next    
        UTF2GB=GBStr    
  end   function    
  function   ConvChinese(x)    
        A=split(mid(x,2),"%")    
        i=0    
        j=0    
           
        for   i=0   to   ubound(A)    
                A(i)=c16to2(A(i))    
        next    
                   
        for   i=0   to   ubound(A)-1    
                DigS=instr(A(i),"0")    
                Unicode=""    
                for   j=1   to   DigS-1    
                        if   j=1   then    
                                A(i)=right(A(i),len(A(i))-DigS)    
                                Unicode=Unicode   &   A(i)    
                        else    
                                i=i+1    
                                A(i)=right(A(i),len(A(i))-2)    
                                Unicode=Unicode   &   A(i)    
                        end   if    
                next    
                   
                if   len(c2to16(Unicode))=4   then    
                        ConvChinese=ConvChinese   &   chrw(int("&H"   &   c2to16(Unicode)))    
                else    
                        ConvChinese=ConvChinese   &   chr(int("&H"   &   c2to16(Unicode)))    
                end   if    
        next    
  end   function    
  function   c16to2(x)    
        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    
                loop    
                c16to2=c16to2   &   tempstr    
        next    
  end   function    
   
  function   c10to2(x)    
        mysign=sgn(x)    
        x=abs(x)    
        DigS=1    
        do    
                if   x<2^DigS   then    
                        exit   do    
                else    
                        DigS=DigS+1    
                end   if    
        loop    
        tempnum=x    
           
        i=0    
        for   i=DigS   to   1   step-1    
                if   tempnum>=2^(i-1)   then    
                        tempnum=tempnum-2^(i-1)    
                        c10to2=c10to2   &   "1"          
                else    
                        c10to2=c10to2   &   "0"    
                end   if    
        next    
        if   mysign=-1   then   c10to2="-"   &   c10to2    
  end   function    
  function   c2to16(x)    
        i=1    
        for   i=1   to   len(x)     step   4    
                c2to16=c2to16   &   hex(c2to10(mid(x,i,4)))    
        next    
  end   function    
           
  function   c2to10(x)    
        c2to10=0    
        if   x="0"   then   exit   function    
        i=0    
        for   i=   0   to   len(x)   -1    
                if   mid(x,len(x)-i,1)="1"   then   c2to10=c2to10+2^(i)    
        next    
  end   function    
   
   
  response.write   UTF2GB("google%E7%9A%84%E5%85%B3%E9%94%AE%E8%AF%8D%E7%BC%96%E7%A0%81%E6%96%B9%E5%BC%8F")  
   
  %>

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

7、批量关键字百度搜索结果url解码

import requests from bs4 import BeautifulSoup import re import time#coding:utf-8with open('key.txt',...

python批量关键字百度搜索结果url解码

代码块思路: 读取TXT文件中的关键了,每行1个; 按关键字批量采集百度搜索结果前10名;采集格式为搜索词、匹配排名标题、匹配排名URL(加密结果)、对应排名等信息 批量对于百度加密后的URL进行解密...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

十一、Google Protobuf 编解码

Google Protobuf编解码机制

Google开源项目ZXing(二维条码编解码)简单使用(Java版)

http://code.google.com/p/zxing/ ZXing (pronounced "zebra crossing") is an open-source, multi-form...

Google Map 经纬度解码算法

android在google map上画线比较容易实现的,但是现在问题在于如何获取起点和终点之间的路线图。这里我们使用Google Directions API来实现, Google Directio...

Google开发的QRcode二维码生成和解码及最大容量

1.源码 package com.test; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOEx...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)