查看文章 |
HTML编码的自动发现
2007-10-07 15:44
写了个自认为还算健壮的html网页编码的自动发现程序,基本的想法就是: 1. 从HTTP Header中的Content-Type: text/html;charset=gbk中提取 2. 从HTML中的Meta标签<meta http-equiv="Content-Type" content="text/html; charset=utf8" />中提取 3. 利用Mozilla的jchardet从byte级别猜测 4. 若以上方法均失败,则返回gb18030(因为主要处理中文) 大致的流程是: 1. 用ascii编码读取网页数据 2. 利用正则表达式"Content-Type:.*charset\\s*=\\s*(.*)\\s*"提取Header中的编码信息,找到则返回 3. 利用正则表达式"<META[^>]*charset\\s*=\\s*(.*)\"[^>]*/?>"提取Meta中的编码信息,找到则返回 4. 利用jchardet猜测,找到则返回 5. 返回默认的gb18030 |
最近读者: