载入中....
设为首页 收藏本站 联系我们 网站地图
论文网
您现在的位置: 免费毕业论文网 >> 计算机论文 >> 计算机理论 >> 正文
搜索: 论文

多语种eml文件编码及语种识别算法研究

更新时间 2011-4-14 14:53:11 点击数:

多语种eml文件编码及语种识别算法研究
                                         张健1,任炜1,蒋欣2,陈辰3,赖跃群1,袁保社4,?(1.新疆虹联软件有限责任公司,新疆乌鲁木齐830002;2.新疆维吾尔自治区国家安全局,新疆乌鲁木齐830002; 3.新疆维吾尔自治区经济和信息化委员会,新疆乌鲁木齐830002;4.新疆大学信息科学与工程学院,新疆乌鲁木齐830046)

      摘要:Eml文件是当前流行的邮件正文格式之一,国内国际对汉、英、俄语种的识别和研究技术已比较成熟,但维吾尔语、哈萨克语及阿拉伯语研究还处于起步阶段.本文研究了包含汉、维、哈、阿拉伯、俄、英文六个语种的eml文件编码格式及编码获取算法,尤其是采用维吾尔语、哈萨克语及阿拉伯语书写的的eml邮件,正确解析邮件头信息和正文内容,实现了对eml文件的语种精确识别.
     关键词:eml;编码识别;多语种;语种识别
    中图分类号:TP391.1文献标识码:A文章编号:1000-2839(2010)04-0482-04

    0引言Eml文件格式是当今流行的一种电子邮件正文格式,应用范围广泛[1].本文研究如何正确解析邮件内容并将其按照指定关键字分门别类,及时发现和获得有用信息,从而为保证网络邮件安全提供有效手段.
    基于eml格式的多语种邮件内容分析主要分为四部分:eml文件获取、编码识别及语种识别、内容分析归类、有效信息展示.在本文中只对文件编码及语种识别进行研究.
    获取文件编码是知晓文件内容的重要步骤,只有获取了文件的编码,应用程序才能正确读取文件内容.Eml文件编码在全球范围内有很多种,常见的有UCS、GB18030、EUC、bigs5、Shift jis、Windows1252、ISO、GB2312、HZ、UTF-8和UTF-7等.面对如此繁多编码格式,怎样才能正确获取文件编码是邮件内容分析需解决的问题.
    面对网络上充斥的多种语言书写的电子邮件,电子邮件使用的语言根据所处的地域不同而使用的文字也不同.对于不同语言文件,内容获取方式也不同.因此,为了正确获取电子邮件的内容,并将其归类,识别文件所属的语种是至关重要的.在本文中,只研究维、哈、阿拉伯、俄、汉和英文六种语言.
    本文主要是运用计算机编程方法,采用Java语言编写不同的算法来完成大量文件的编码分析,按照语言特性的不同,完成对Eml文件语种的识别,为Eml文件内容搜索准备基础的信息资源.
    ?收稿日期:2010-04-27
    基金项目:2009年新疆维吾尔自治区高技术研究项目(项目号:200912117)作者简介:张健(1976-),男,工程师,从事信息系统开发。
    ?通讯作者:袁保社(1955-)男,教授,硕士生导师,研究方向中文信息处理.第4期张健,等:多语种eml文件编码及语种识别算法研究4831 Eml编码识别现今电子邮件格式通常有html和Eml两种格式,不论是哪种格式的邮件,存在的编码类别都是相同的.
    通常情况下,eml文件中在正文部分都会出现标识内容编码字样:Content-Type:text/html;charset=gb2312,可以通过相应的程序提取该编码标识后,进行内容识别和显示[1,2].但是,通过实际检测发现,内容编码格式与该说明的标识相符的邮件少于50%,许多邮件存在与标识的编码不相符的情况,因此,必须研发相应的识别算法来准确检测文本的实际编码.
    为了能够准确识别文件编码,我们将Eml编码格式分为GBK和UTF8两类:通常将GB18030、EUC、big5、Shift jis、Windows1252、GB2312、HZ等象形文字编码归为GBK类别;将UTF-8、UTF-7、UTF-16等归为UTF8类.使用Java语言编写了与之匹配的两种识别算法,分别将其封装在FileCharsetDectector包和Sin-oDetector包中.前者是将不同编码按照内码范围的不同,将每个字符定义都为32位,采用高低位的移位和与运算实现不同字符编码的识别,主要提供对Utf-8、ISO 2022、BIG5、EUCTW、GB2312、GB18030、ISO2022CN、HZ、CP1252、UCS2BE、UCS2LE十多种编码的识别和判断.后者是根据字符的不同内码确定文件编码,主要提供GB2312、GBK、HZ、BIG5、EUCTW、ISO2022-CN、UTF8、UNICODE、ASCII九种编码格的识别.
    1.1几种主要编码
    总结归纳出几种主要的编码范围,以十六进制表示:1)GB2312:中国国家简体中文标准,使用2个字节表示,高字节编码范围为A1到F9,低字节从A1到FE.
    2)GBK:是对GB2312的扩展,加入对繁体字的支持,使用2个字节表示,高字节编码范围为81到FE,低字节为40到FE.
    3)BIG5:适用于繁体字,使用2个字节表示,高字节编码范围为A1到F9,低字节从40到7E,A1到FE.
    4)GB18030:适用于所有象形文字的编码,采用变字节表示,分单字节、双字节和四字节三种方式对字符编码.单字节的编码范围为00到7F(对应于ASCII码的相应码位);双字节部分,首字节码位从81至FE,尾字节码位分别是40至7E和80至FE;四字节部分采用采用30到39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为81308130到FE39FE39.其中第一、三个字节编码码位均为81至FE,第二、四个字节编码码位均为30至39.
    5)EUC-TW:EUC-TW本来是台湾使用的其中一个汉字储存方法,以CNS11643字表为基础.
    CNS 11643第一字面的字元使用两个字节来表示.第一位字节使用0xA1-0xFE,第二位字节使用0xA1-0xFE;CNS 11643其他字面的字元使用四个字节来表示:第一位字节使用0x8E,第二位字节使用0xA1-0xB0(0xA1-0xA7分别代表第1至第7个字面,其余未定义),第三位字节使用0xA1-0xFE,第四位字节使用0xA1-0xFE.CNS 11643第一字面可选择使用两个字节或四个字节来表示.
    6)HZ:是将含有高位为1的汉字双字节字串转换成易于在网络中传输的ASCII字符串的变换方式,被转换字符串中的原汉字子字符串各字节高位作清零处理,使之成为ASCII子字符串,并在其前后两端分别添加~{和~}作为标记.
    7)UNICODE:包括多种编码方式,分别是UTF-8、UTF-16、UTF-32.
    8)ASCII:适用于

[1] [2] [3] 下一页

返回栏目页:计算机理论论文

设为主页】【收藏论文】【保存论文】【打印论文】【回到顶部】【关闭此页