发明内容
有鉴于前述传统数字化设备在利用红外线进行资料传输时所发生的诸多缺失,本发明人乃研究出一种具有自动识别功能的红外线传输系统,其运用该系统的电子设备,在利用红外线进行资料传输时,可先针对发送方设备传来的信息,检视其码值是否都在某特定内码的码值范围内,并排除码值范围不匹配的内码类型,然后再将这些信息依码值范围相匹配的内码,进行转释,并予以分析,判断在这些信息中是否出现较多的非常用字词,且以出现频率较少且码值范围相匹配的内码类型,作为所选取的内码类型,并将其视为发送方设备所使用的内码,据以将所接收的信息,转换成接收方设备的内码类型。
本发明的主要目的在于在使运用该系统的电子设备在进行资料传输时,可大幅降低信息交换的障碍,并根据各种不同内码类型的规则,对所接收的信息进行分析,以确定发送方设备所使用的内码类型,根据该内码类型对信息进行转换处理,以有效避免发生乱码的情形,正确地将信息显示出来。
本发明的另一目的在于在令不同规格的设备可轻易地进行信息交换,使红外线传输具备更准确的传输性及更高的相容性,以便使用不同语系(内码)的手持式电子设备能通过红外线传输,达成无障碍传递信息的目的。
根据上述目的,本发明提供一种具有自动识别功能的红外线传输系统,该系统包括:
红外线通信装置,用以与发送方设备进行通信,籍由其中的红外线传输协定及红外线传输设备,获取发送方设备传来的信息;
储存装置,由随机存取存储器及只读存储器所组成,该随机存取存储器用以存放控制及运算程序中有关的信息,该只读存储器则用以存放固定且无需修改的信息,储存装置中存储有内码转换表和辨识表,该辨识表包含下列信息:所有内码的类型;各内码类型所对应的信息长度;及各内码类型所对应的信息中非常用码的个数;
分析控制装置,与红外线通信装置相连,接收从发送方设备传来信息,根据该辨识表识别出该信息所使用的内码类型,转释分析后,判断信息中是否出现较多的非常用字词,并以非常用字词的出现频率较少且码值范围相匹配的内码类型,作为发送方设备所使用的内码类型,再根据该内码转换表将所接收的信息转换成接收方设备的内码类型;
中央运算装置,用以提供该系统所需的运算能力,根据该分析控制装置所传来的指令及要求,进行相应的运算,并将运算结果传回该分析控制装置;
以及
显示装置,用以将信息依接收方设备的内码类型,予以解码,并显示出来。
具体实施方式
本发明是一种具有自动识别功能的红外线传输系统,参阅图1所示,该系统设计在个人数字助理(PDA)或手机(MOBILE PHONE)等具备红外线传输功能的电子设备中,主要是由红外线通信装置1、中央运算装置2、储存装置3、分析控制装置4及显示装置5等所组成,其中红外线通信装置1用以与发送方设备进行通信,藉由其中的红外线传输协定及红外线传输设备,成功获取发送方设备传来的信息,并保证信息在传输过程中的准确性,红外线传输设备主要是负责实现数据间的通信,而该红外线传输协定则负责维护信息传输的可靠性;中央运算装置2主要通过中央处理单元(CPU),提供该系统所需的运算能力,根据分析控制装置4所传来的指令及要求,进行相应的运算,并将运算结果传回该分析控制装置4;储存装置3用以储存分析控制装置4所需的相关数据库,供中央运算装置2运算时使用,储存装置3一般是由随机存取存储器(RAM)及只读存储器(ROM)所组成,该随机存取存储器用以存放控制及运算程序中有关的信息,可依实际需要,随时进行修改,该只读存储器则用以存放固定且无需修改的信息:分析控制装置4针对传来的信息,依设定的分析程序,进行分析,以辨识出所使用的内码类型,并通过转换程序,将其转换成本机设备所对应的内码类型;显示装置5用以将信息依接收方设备的内码类型,予以解码,并显示出来,使接收方能了解所接收的信息,显示装置5可为液晶显示器(LCD)。
在该系统中,当该红外线通信装置1接收到由发送方设备传来的信息后,即将其传送至分析控制装置4,进行处理,分析控制装置4根据储存装置3中数据库所储存的指令及信息,向中央运算装置2发出运算指令,令其完成对这些信息的分析及转码,并将处理过的信息由显示装置5显示出来。由于,该系统主要是通过该红外线设备与发送方设备建立连接,保持通信,而所传送的信息是利用红外线传输协定(IrDA)封装在所接收的数据内,故在该红外线设备取得发送方设备传来的数据后,需通过该协定将传来的信息自所接收的数据中解析出来。
一般言,红外线传输协定主要是由许多层不同的子协定所组成,参阅图2所示,而通过红外线传输协定进行传送的信息,亦有其特定的格式,故接收方设备在解析发送方设备传来的信息时,必须利用发送方设备的内码,否则,若接收方设备的内码类型与发送方设备的内码类型不相同时,所解析出的信息,必然会在显示时发生乱码现象,致接收方无法获得正确有效的信息。例如:接收方设备采用繁体中文系统的Big5码,而发送方设备是采用英文系统的ASCII码,在ASCII码中,由于码值大于127属于欧语字母或符号,而Big5码的中文字是由两个ASCII码所组成,故,此时,该接收方设备极易将该发送方设备传来的英文字符串,误认为是Big5码的字符串,而得到不正确的结果。此种情况不仅在采用不同语系的设备间,屡见不鲜,甚至在同语系的设备间,亦会因采用不同的内码,而发生乱码现象,诸如使用繁体中文系统的设备,其内码可能像Big5码或Unicode码,因此,为能准确地显示信息,在接收方设备取得信息后,必须先由一特殊设计的识别程序,予以分析,以确定传输中信息所使用的内码类型。
对传输中信息所使用的内码类型,进行辨识,主要是根据不同内码的特征,包括内码码值、出现频率及组合规律等特征加以分析判断。一般言,任何内码均有其特定的码值范围,英文的ASCII码的码值在0到127间,中文的Big5码及GB码则均是由两个ASCII码所组成,且其第一个ASCII码的码值均大于127,而第一及二个ASCII码均分别有其特定的码值范围;Unicode码亦是由两个ASCII码所组成,而UTF-8码则属经处理后的Unicode码,主要由一个到四个ASCII码所组成,且每一个ASCII码的码值范围均有其固定的规则。
此外,由于设备间传递的信息是有意义的,其所使用的字词,大部分应属常用且可供阅读的,至于日常生活中,那些非常用的字词,在这些信息中出现的机率应极为有限。另,信息既是以内码型态存在,由码值范围应可识别出其内码类型,但,由于不同内码的码值范围可能重叠,因此通过码值范围,似无法完全正确地辨识出所有的内码类型,例如:Big5码及GB码的第一个ASCII码,均包含{oxbo}至{oxf7}段的码值,而第二个ASCII码包含{oxal}至{oxfe}段的码值,因此,必须使用其他的特征,对其作进一步识别。在本发明的系统中,主要是以正常信息中不易出现或较少出现的非常用字词的出现频率,作为对所选取的内码类型进行辨识的基础,意即非常用字词的出现频率愈高,即表示所选取的内码类型有误,否则,即表示所选取的内码类型正确。
本系统在识别所选取的内码类型是否正确的过程中,主要是先针对发送方设备传来的信息,检视其码值是否都在某特定内码的码值范围内,并排除码值范围不匹配的内码类型,然后再将该信息依码值范围相匹配的内码,进行转释,并予以分析,以判断在这些信息中是否出现较多的非常用字词,并以出现频率较少且码值范围相匹配的内码类型,作为所选取的内码类型,并将其视为发送方设备所使用的内码,据以将所接收的信息,转换成接收方设备的内码类型。如此,即可令显示装置5正确地显示信息。
本发明在前述转换过程中,需大量使用储存装置3内存放的转换表,转换表的数量愈多,其转码过程的速度愈快,反之,该转换表的数量愈少,即需利用多张转换表进行转换,致转换过程延长,使转码速度变慢。在本发明的系统中,该转换表可为同一个字符在不同内码类型中的码值对应表,主要是存放在只读存储器中,且为提高储存空间的利用率,使查询更为简便,可采用一个来源内码位对应到一个目的内码值的对应格式,如下表所示将Unicode码转换成Big5码所需的转换表格式:
来源内码 |
目的内码 |
...... |
...... |
0x626d(扭) |
0xa7e1 |
0x626e(扮) |
0xa7ea |
0x626f(扯) |
0xa7e8 |
...... |
...... |
0x62d3(拓) |
0xa9dd |
0x62d4(拨) |
0xa9de |
...... |
...... |
目前,中文内码一般可区分成Big5码、GB码、Unicode码及ASCII码等数种,利用红外线(IfDA)作为无线传输介质的各种电子设备均可支持这些内码。因此,本发明仅需将这些电子设备中可进行识别的内码类型,设定前述四种,即可令其与各类具有红外线传输功能的中文设备或英文设备相互连线,进行信息传输与交换。
本发明的系统在对所选取的内码类型进行辨识的过程中,是籍在随机存取存储器中,建立一辨识表,并在该表的栏位中分别存放下列信息:
(1)所有内码的类型;
(2)各内码类型所对应的信息长度;及
(3)各内码类型所对应的信息中非常用码的个数;
以藉由该辨识表记录这些信息,并依下列步骤,参阅图3所示,分析及辨识其结果,以选取一适当的内码类型:
(1)首先,自该辨识表中依序选择内码类型,在中文系统中可为Big5码、GB码、Unicode码、ASCII码或UTF-8码等内码类型;
(2)依序读取所接收信息中的字符;
(3)分析该字符,判断其码值是否像在选择的内码类型的码值范围内;
(4)若是,判断该字符是否属所选择的内码类型的常用字符,并记录非常用的字符,且返回步骤(2),继续读取下一字符,且到所有字符被读完为止;
(5)否则,判断是否尚有其它内码类型未被选取,若是,返回步骤(1),自该辨识表中选择另一内码类型;若否,即针对这些信息,依不同内码类型进行转译,并就所记录的非常用字词的出现数量,进行分析比较,以非常用字词出现较少且码值范围相匹配的内码类型,作为应选取的内码类型,并将其视为发送方设备所使用的内码,依转换表的转换格式,将所接收的信息转换成接收方设备的内码类型。
在本发明的较佳实施例中,是以目前市场上常见的具有红外线信息交换功能的PALM个人数字助理器为例,加以说明,该产品虽支持中文,但大多是外挂式设计,其核心程序仍为英文形态,并采用Unicode内码,使用vCard格式加载在红外线通信协定上,进行信息交换,故当本发明的系统应用于该个人数字助理器上,并通过红外线传输系统,接收到一vCard格式的下列文件:
BEGIN:VCARD
VERSION:1.0
N;CHARSET=ISO-8859-1:张三
TEL;WORK;VOICE:12345678
UID:6725640
END:VCARD
该文件用以传递某用户的姓名(如:张三)及其公司的电话号码,其中N栏代表姓名,其字符是标准英文字符,TEL栏代表公司电话,BEGIN、END、UID及VERSION专栏则代表该PALM个人数字助理器所产生的系统信息,而非用户的信息,故该个人数字助理器接收到该文件后,仅就其中有关用户姓名及公司电话等二段信息,依对应的格式解读成如下的内码值:
(1)用户姓名:{oxB1 0X69 oxA4 0x54}
(2)公司电话:{0X31 0X32 0X33 0X34 0X35 0x36 0X37 0x38}
由于该用户姓名的信息中存在有大于128的码值,而该PALM个人数字助理器的核心程序是英文形态,且采用Unicode内码,因此对于所接收的该vCard格式的文件中采用标准英文码的内容,若不以本发明的系统,先进行分析及转换处理,将会以英文字符显示内容,而发生乱码现象。
在该实施例中,本发明的系统在接收到这些信息内容后,先针对用户姓名的内码值{oxB1 0x69 oxA4 0x54}进行分析,由于这段码值中有特殊符号的码值,所以排除其为英文的可能,又{oxB169}及{oxA454}并不在GB码的码值范围内,亦排除其为GB码的可能,故这些信息内容所采用的内码类型可能是Unicode或Big5码。然后,再对其内码值所对应的文字,依可能采用的内码类型,进行分析,若以Unicode码转释,所对应的文字是“衰诧”,其中第一个字乃一非常用字;若以Big5码转释,所对应的文字则为”张三”,两相比较下,由于使用Big5码进行转释时,出现非常用字的频率较低,该系统即选择以Big5码作为发送方设备所使用的内码,采用Big5与Unicode码间的转换表,将所接收的用户姓名信息转为Unicode码,正确地将信息显示出来。
在前述实施例中,当该系统针对公司电话的内码值{ox31 0x32 0X33 0x340X35 0x36 0x37 0x38}进行分析时,若是以ASCII码分析,其码值均小于128,在ASCII码的码值范围内;若以Big5码或GB码分析,其码值{0x3132}、{0x3334)、{0x3536}及{0x3738}中,高字节都小于1288,与Big55码及GB码的码值范围并不匹配;若以Unicode码分析,其码值{0x3231}、{0x3433}、{0x3635}及(0x3837),与Unicode中文码是自0x4e00开始的规则并不匹配。综合判断后,仅ASCII码相匹配,因此,该系统即选择以ASCII码作为发送方设备所使用的内码,采用ASCII码与Unicode码的转换表,将所接收的该公司电话信息转为Unicode码,正确地将信息显示出来。
由此可知,本发明所采用的自动识别系统,不仅可令信息交换的障碍减小至最低,且可根据各种不同内码类型的规则,对所接收的信息进行分析,以确定发送方设备所使用的内码类型,根据该内码类型对信息进行转换处理,以有效避免发生乱码的情形发生,正确地将信息显示出来,如此,即可令不同规格的设备轻易地进行信息交换,使红外线传输具备更准确的传输性及更高的相容性,令使用不同语系(内码)的手持式电子设备,能通过红外线传输,达成无障碍传递信息的目的。
以上所述,仅为本发明最佳的具体实施例,本发明的构造特征并不局限于此,任何熟悉本技术领域者,在本发明领域内,可轻易思及的变化或修饰,皆可涵盖在以下权利要求书的范围内。