超SEO的搜索引擎观察博客:    SEO技术    SEO新闻    关键词优化    Google算法    Google新闻    百度新闻

超SEO博客

关注搜索引擎发展、透析搜索引擎原理、优化搜索引擎排名、分享、交流SEO技术
posts - 246, comments - 57, trackbacks - 0, articles - 4
  博客园  :: 联系 :: 管理

使用C#对Google和Baidu中文关键词编码解码

Posted on 2009-08-19 17:44 Google优化 阅读(...) 评论(...) 编辑 收藏
Google和百度的关键词编码是不同的,貌似google是utf-8,baidu是GB2312,有很多种方法可以解决编码,以下列出三种方法:
Uri.unescapeDataString(); 是可以对google的大部分中文关键词 编码进行解码,但是不能解码的编码就会造成乱码,不能解百度关键词。
Microsoft.JScript.GlobalObject.decodeURI();可以解码大部分中文关键词编码,但是仍有少部分不能解码不能解百度关键词,需要Microsoft.JScript引用。
HttpUtility.UrlDecode(str,Encoding.Default);可以解百度的关键词编码,可以解码上述两个方法不能解码google关键词,需要System.Web引用。
要同时解决google和百度关键词解码问题可以使用下列方法:
//str为编码后的google或者百度关键词
 try
        {
             .. Microsoft.JScript.GlobalObject.decodeURI(str.Trim()) ...
          }
 catch {
             ...        HttpUtility.UrlDecode(str,Encoding.Default) ...
 }

Microsoft.JScript.GlobalObject.decodeURI()无法解码时候会报错,捕获以后就可以使用HttpUtility.UrlDecode解码。
Powered by .NET Core 3.0 Preview 8 on Linux