注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

^_^ china.ygw的博客

软件开发/c/c++/数据库/开源/linux/windows/安全/网络...

 
 
 

日志

 
 
 
 

c#基于正则表达式实现所下载网页编码的自动转换  

2014-01-15 21:57:19|  分类: c# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        在使用c#的webclient进行网页内容下载时,最常见的问题是网页编码问题,处理不正确的话就容易造成网页内容乱码。
        如果针对指定的编码进行逐一处理并转换的话,虽然可行,但是比较繁琐。而通过正则表达式,则可以简洁地自动进行处理,简单、快捷。相关代码如下:
                      WebClient wc = new WebClient();
                        byte[] btWeb = wc.DownloadData(strUrl);
                        string strWeb = Encoding.Default.GetString(btWeb);

                        Match matchCharset = Regex.Match(strWeb, "<meta([^>]*)charset=(\")?([a-zA-Z0-9-]+)\"", RegexOptions.IgnoreCase | RegexOptions.Multiline);
                        string strCharset = matchCharset.Groups[3].Value;
                        if (0 != strCharset.CompareTo("") && Encoding.GetEncoding(strCharset) != Encoding.Default) {
                            strWeb = Encoding.GetEncoding(strCharset).GetString(btWeb);
                        }
  评论这张
 
阅读(212)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018