[发明专利]用于嵌入式浏览器的网页编码语言自动识别方法及装置有效
申请号: | 200710143874.2 | 申请日: | 2007-08-03 |
公开(公告)号: | CN101101606A | 公开(公告)日: | 2008-01-09 |
发明(设计)人: | 谢曼 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/06 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 嵌入式 浏览器 网页 编码 语言 自动识别 方法 装置 | ||
技术领域
本发明涉及通讯领域,尤其涉及一种用于嵌入式浏览器的网页编码语言自动识别方法及装置。
背景技术
嵌入式浏览器从桌面个人计算机(PC)所用的浏览器而来,多用于机顶盒、信息家电、和移动信息终端等嵌入设备。
与个人计算机上的浏览器不同,嵌入式浏览器能够获得的资源,比如显示面积大小、处理器计算能力、内存大小、缓存大小、字库、及语言文件都非常有限,而需要处理的内容几乎与个人计算机上相同,因此在网络连接方式、内容解析、排面布局上都和个人计算机浏览器有很大的区别。尤其是在移动信息终端上,嵌入式浏览器除了支持传统的互联网,还必须支持访问移动互联网,即工作分配计划(WAP)网站。浏览器必须既能解析超文本标示语言(HTML)、文件扩展名(SHTML)、及动态超文本标示语言(DHTML)等超文本语言网页,又能解析无线标示语言(WML)、无线二进制可扩展标示语言(WBXML)、及压缩超文本标示语言(CHTML)等工作分配计划网页。而访问以上诸多格式的网页,都可能遇到支持多种语言的问题。
超文本传输通讯协议(HTTP)及工作分配计划两种互联网协议,还有超文本标示语言/无线标示语言都对怎样使用多种语言进行了规定。但是实际应用中,网页书写不规范,通过网关访问出现协议头丢失或者页面转换导致用于指明页面编码的元数据错误等,都可能使信息终端上的浏览器无法获得充分正确的依据判断出网页到底使用哪种语言。更有甚者,网页里使用多种编码,根本无法用同一编码对全部网页文本进行解析。
对此类问题,一般有两种解决方案:手工纠错或者自动解码。前者是由用户指定一种编码,浏览器按此编码重新对网页数据进行解析。这种方法成功概率取决于用户判断的准确度。但是它需要用户的参与,不够便利,此外也需要重新解析网页,很浪费资源。后一种方案自动解码的实现则千差万别,由于嵌入系统资源系统有限,最常见的方法是内置一种缺省语言,一旦无法识别,就用该语言去解码,这种方法往往造成显示乱码。
发明内容
鉴于以上所述的一个或多个问题,本发明提出了一种用于嵌入式浏览器的网页编码语言自动识别方法及装置。根据本发明所述的方法及装置不需要用户参与指定编码,并且可以消除使用内置缺省编码造成的显示乱码的可能性,其是对网页内部存在多种编码的情况有很好的效果。
根据本发明的一种用于嵌入式浏览器的网页编码语言自动识别方法包括以下步骤:S102,从嵌入式浏览器的协议栈中获取部分网页数据和协议头;S104,解析网页数据和协议头,以获得指明网页编码的元数据;S106,利用从网页数据中获取的元数据和从协议头中获取的元数据,根据优先级判断第一次文本解析应该使用的编码;以及S108,根据所采用的编码解析当前数据块,并统计解析过程中出现的错误,并且在出现错误的情况下,再次选择编码进行解析。
其中,S106包括:S106-2,将从网页数据获取的元数据或协议头中获取的元数据的优先级设置为最高,在其中至少之一存在的情况下,采用该种元数据指示的编码进行解析;S106-4,在均不存在的情况下,采用从同一网页的其他数据块的网页数据或协议头获取的元数据指示的编码进行解析;以及S106-6,在不存在同一网页的其他数据块的网页数据和协议头的情况下,采用浏览器内置的缺省编码进行解析。
在S108中,在解析无错误的情况下,将采用的编码的优先级设置为最高,在解析出现错误的情况下,继续选择编码进行解析。
根据本发明的一种用于嵌入式浏览器的网页编码语言自动识别装置包括:数据获取模块202,用于从嵌入式浏览器的协议栈中获取部分网页数据和协议头;数据解析模块204,用于解析网页数据和协议头,以获得指明网页编码的元数据;编码确定模块206,用于利用从网页数据中获取的元数据和从协议头中获取的元数据,根据优先级判断第一次文本解析应该使用的编码;以及解析模块208,根据所采用的编码解析当前数据块,并统计解析过程中出现的错误,并且在出现错误的情况下,再次选择编码进行解析。
其中,编码确定模块206将从网页数据获取的元数据或协议头中获取的元数据的优先级设置为最高,在其中至少之一存在的情况下,采用该种元数据指示的编码进行解析;在均不存在的情况下,采用从同一网页的其他数据块的网页数据或协议头获取的元数据指示的编码进行解析;以及在不存在同一网页的其他数据块的网页数据和协议头的情况下,采用浏览器内置的缺省编码进行解析。
其中,在解析无错误的情况下,编码确定模块206将采用的编码的优先级设置为最高,在解析出现错误的情况下,编码确定模块继续选择编码以进行解析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710143874.2/2.html,转载请声明来源钻瓜专利网。