如何用excel urldecode解码把url编码转为汉字?

  统计分析可以反映出网站运营的情况,并根据实际作出相应的调整,是站长必需的基础技能。ytkah感觉最好用的是谷歌统计,里面有个搜索关键词及对应受访页面,这个功能对优化用处很大,但大家都知道访问不太顺畅。statcounter也有相似的功能,但免费版只能显示最近几天或最近几百条的记录。bd统计、cnzz也有类似的功能,只是不太明显,没注意的话可能发现不到,没错,就是访问明细那。最相关的文章:如何从统计中批量获取BD搜索关键词及对应的入口页面?

  以上是cnzz的截图,只能显示最近7天的数据,可以每周下载一次,最好能每天都看,seo是一个持续的过程。

  说了那么多,进入正题。把访问明细表导出来后会发现有些页面是其他搜索页,比如博客园自带的搜索

  这些搜索页url是经过编码的,如何用excel urldecode解码把url编码转为汉字?如上图所示,A1转为A5的形式

  在excel左上角的菜单,点击 “开发工具” - 选“Visual Basic”,在新界面中选 “插入” - “模块”,输入如下代码

Function URLDecode(ByVal strIn)
        URLDecode = ""
        Dim sl: sl = 1
        Dim tl: tl = 1
        Dim key: key = "%"
        Dim kl: kl = Len(key)
        sl = InStr(sl, strIn, key, 1)
        Do While sl > 0
            If (tl = 1 And sl <> 1) Or tl < sl Then
                URLDecode = URLDecode & Mid(strIn, tl, sl - tl)
            End If
            Dim hh, hi, hl
            Dim a
            Select Case UCase(Mid(strIn, sl + kl, 1))
                Case "U" 'Unicode URLEncode
                    a = Mid(strIn, sl + kl + 1, 4)
                    URLDecode = URLDecode & ChrW("&H" & a)
                    sl = sl + 6
                Case "E" 'UTF-8 URLEncode
                    hh = Mid(strIn, sl + kl, 2)
                    a = Int("&H" & hh) 'ascii码
                    If Abs(a) < 128 Then
                        sl = sl + 3
                        URLDecode = URLDecode & Chr(a)
                    Else
                        hi = Mid(strIn, sl + 3 + kl, 2)
                        hl = Mid(strIn, sl + 6 + kl, 2)
                        a = ("&H" & hh And &HF) * 2 ^ 12 Or ("&H" & hi And &H3F) * 2 ^ 6 Or ("&H" & hl And &H3F)
                        If a < 0 Then a = a + 65536
                        URLDecode = URLDecode & ChrW(a)
                        sl = sl + 9
                    End If
                Case Else 'Asc URLEncode
                    hh = Mid(strIn, sl + kl, 2) '高位
                    a = Int("&H" & hh) 'ascii码
                    If Abs(a) < 128 Then
                        sl = sl + 3
                    Else
                        hi = Mid(strIn, sl + 3 + kl, 2) '低位
                        a = Int("&H" & hh & hi) '非ascii码
                        sl = sl + 6
                    End If
                    URLDecode = URLDecode & Chr(a)
            End Select
            tl = sl
            sl = InStr(sl, strIn, key, 1)
        Loop
        URLDecode = URLDecode & Mid(strIn, tl)
    End Function

  保存

  关掉VB窗口,直接在A5单元格输入框输入函数=URLDecode(A1),就可以得到所要的结果了

  如果要把中文编译成编码呢?也是可以的

Function GetURL$(txt$, Optional LC = &H804)
    Dim a() As Byte: a = StrConv(txt, vbFromUnicode, LC)
    For i = 0 To UBound(a)
        GetURL = GetURL & "%" & Right("0" & Hex(a(i)), 2)
    Next
End Function

 

时间: 2024-10-01 16:12:50

如何用excel urldecode解码把url编码转为汉字?的相关文章

SQL 将URL编码转汉字!

原文:SQL 将URL编码转汉字! -- ============================================= -- 作 者: ruijc -- 描 述: 将Url编码转明文字符串 -- ============================================= CREATE FUNCTION FN_URLDecode ( @Str VARCHAR(8000)--已经编码的字符串 ) RETURNS VARCHAR(8000) AS BEGIN DECLAR

php中urlencode()和urldecode()URL编码函数浅析

URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu.Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL. URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu.Yisou等使用),另一种是基于UTF-8的Encode(Google.Yahoo等使用). URLdecode:就是将url编码后的字符串还原成未编码的样子. 本工具分别实现两种方式的Encode与Decode: 中文 -> GB2

javascript url 编码与解码函数

javascript教程 url 编码与解码函数 function UrlEncode(str) {     var ret="";     var strSpecial="!"#$%&()*+,/:;<=>?[]^`{|}~%"; var tt="";     for(var i=0;i<str.length;i++)     {         var chr = str.charAt(i);       

Java实现的URL编码和解码技术

当编写 " 网络爬虫" 或下载器时,在 Java 中实现 URL 编码和解码是一个很常见的要求.本文的重点是创建用于对所传递的 URL 进行编码和解码的模块. Main 方法 public static void main(String[] args) {                // TODO Auto-generated method stub                String url="https%3A%2F%2Fr1---sn-ci5gup-cags.

asp.net URL编码与解码_实用技巧

例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文.否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成

ASP.NET技巧:URL编码处理

asp.net|编码|技巧 要解决的问题:将下面的URL作为一个参数传到其他的页面 1 http://domain/de.apx?uid=12&page=15 2 url后面的参数中出现汉字等,如: ....aspx?title=起重机在出现上面的情况的时候,必须经过一个RUL编码和解码的过程,否则会出现错误.代码如下: 1//传值2string temp = " <a href='Add.aspx?url=" +Server.UrlEncode( skin.Page.R

url 编码 js url传参中文乱码解决方案_javascript技巧

1.配置文件web.config中 在节中加上整个网站的编码方式. <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/> 这样参数就以gb2312的中文编码方式传输了.而一般默认是utf-8. 2.在传参是先编码在传输,接受时先编码,在接收. string mm=Server.URLEncode(你); Res

URL原理、URL编码、URL特殊字符

From: http://blog.csdn.net/chenlycly/article/details/51820727 From: http://blog.csdn.net/zmx729618/article/details/51381655 From: http://www.cnblogs.com/coco1s/p/5038412.html 通常如果一样东西需要编码,说明这样东西并不适合传输.原因多种多样,如Size过大,包含隐私数据,对于Url来说,之所以要进行编码,是因为Url中有些字

关于URL编码

一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http://www.aβγ.com"(读作阿尔法-贝塔-伽玛.com).这是因为网络标准RFC 1738做了硬性规定: "...Only alphanumerics [0-9a-zA-Z], the special cha