专利名称:字符串处理装置、字符串处理方法和成像装置的制作方法
技术领域:
本发明总体上涉及字符串处理装置、字符串处理方法和成像装置,更具体而言,涉及将由一种编码方法(字符代码集)编码的字符串转换成由另一种编码方法编码的字符串的字符串处理装置、字符串处理方法和成像装置。
背景技术:
编码方法将字符和符号(下文中简称为字符)转换成指定给它们的各自字符代码,以便在计算机上处理所述字符。通常,根据语言或计算机系统来使用不同的编码方法。例如,因特网使用UTF-8或UTF-16,以便支持世界的主要语言,所述UTF-8或UTF-16将Unicode用作为标准的编码方法。此外,字符串处理装置和成像装置采用Shift-JIS或Latin1作为编码方法。
当需要时,通常能够使用多种编码方法的字符串处理装置将由一种编码方法编码的字符串转换成由另一种编码方法编码的字符串。作为根据其购买者的语言而在用户接口中的必要和充分条件,成像装置具有少量的编码方法,以便节省字体ROM的容量。
通常,连接于诸如因特网等网络的字符串处理装置或成像装置当从网络方接收包含例如以Unicode表示的字符串的请求(比如改变文档名的请求)时将字符串转换成由在内部处理中使用的编码方法编码的字符串。
第11-512543号PCT国际申请的日本译本(translation)公开了一种用于将由一种编码方法编码的字符串转换成由另一种编码方法编码的字符串的技术。
通常,字符串处理装置和成像装置能够使用多种编码方法,且因此就需要选择编码方法来使用。
然而,可描述的字符集在不同的编码方法当中是不同的。因此,转换前可以由一种编码方法表示的字符在转换后不必可以由另一种编码方法来表示。所以,在这里就存在一个问题,即不可能依据转换前后的所述编码方法的组合完全转换所有的字符串。
例如,可由一种编码方法表示的字符集不必包括可以Unicode表示的所有字符集的字符,所述编码方法被用在字符串处理装置或成像装置的内部处理中,比如Shift-JIS或Latin1。因此,即使字符能够以Unicode来表示,所述字符也不必由在内部处理中采用的编码方法来表示。
因此,对于常规的字符串处理装置和成像装置而言,编码方法的选择是重要的,这是因为取决于选择哪种编码方法来对由另一种编码方法编码的字符串进行转换,不可转换的字符的数量是不同的。另外,对于常规的字符串处理装置和成像装置而言,例如在排序(collate)已转换的字符串的情况下,对未能转换的字符进行的处理也是重要的。此外一些编码方法将不同的字符代码分配给单个字符,并且这种特殊字符的处理也是重要的。
发明内容
因此,本发明的一个总体目的是,提供一种字符串处理装置、字符串处理方法和一种成像装置,在其中消除了上述缺点。
本发明的一个更为具体的目的是,提供一种字符串处理装置、字符串处理方法和一种成像装置,它们在将由第一种编码方法编码的字符串转换成由第二种编码方法编码的字符串时,能够选择适当编码方法,并且能够适当地处理可由第二种编码方法表示的已转换的字符串。
本发明的上述目的是通过如下字符串处理装置来实现的,所述字符串处理装置将由第一种编码方法编码的字符串转换成由从多种编码方法中选出的第二种编码方法编码的字符串,该字符串处理装置包括编码方法确定部件,用于选择编码方法,并在利用所选的编码方法对字符串进行转换时,根据每种所选的编码方法获得一个或多个替换码的数量信息及位置信息的至少其中之一,并且根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
本发明的上述目的是通过如下字符串处理装置来实现的,所述字符串处理装置使用由第一种编码方法编码的第一字符串排序由第二种编码方法编码的第二字符串,该字符串处理装置包括字符串排序部件,用于将第二字符串转换成第一种编码方法,并且在利用所述第一字符串排序已转换的第二字符串第一字符串时,把已转换的第二字符串中所包含的替换码处理为具有表示任意字符的角色的字符。
本发明的上述目的是通过如下字符串处理方法来实现的,所述字符串处理方法将由第一种编码方法编码的字符串转换成由从多种编码方法中选出的第二种编码方法编码的字符串,该字符串处理方法包括以下步骤(a)选择编码方法;(b)在利用所选的编码方法来对字符串进行转换时,根据每种所选的编码方法来获得一个或多个替换码的数量信息及位置信息的至少其中之一;以及(c)根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
本发明的上述目的是通过如下字符串处理方法来实现的,所述字符串处理方法利用由第一种编码方法编码的第一字符串排序由第二种编码方法编码的第二字符串,该字符串处理方法包括以下步骤(a)将第二字符串转换成由第一种编码方法编码的字符串;以及(b)使用所述第一字符串排序已转换的第二字符串第一字符串,把在已转换的第二字符串中所包含的替换码处理为具有表示任意字符的角色的字符。
本发明的上述目的是通过如下成像装置实现的,所述成像装置包括将由第一种编码方法编码的字符串转换成由从多种编码方法中选出的第二种编码方法编码的字符串的字符串处理部件,该成像装置包括编码方法确定部件,用于选择编码方法,并在利用所选的编码方法对字符串进行转换时,根据每种所选的编码方法获得一个或多个替换码的数量信息及位置信息的至少其中之一,并且根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
本发明的上述目的是通过如下成像装置来实现的,所述成像装置包括字符串处理部件,该字符串处理部件使用由第一种编码方法编码的第一字符串排序由第二种编码方法编码的第二字符串,该成像装置包括字符串排序部件,用于将第二字符串转换成由第一种编码方法编码的字符串,并且当使用所述第一字符串排序已转换的第二字符串第一字符串时,把在已转换的第二字符串中所包含的替换码处理为具有表示任意字符的角色的字符。
根据本发明,当由第一种编码方法编码的第一字符串被转换成由第二种编码方法编码的第二字符串时,该第二种编码方法可以根据一个或多个替换码的数量信息及位置信息(每个替换码的数量及每个替换码的位置)来确定。另外,根据本发明,第二字符串中所包含的替换码可以当作具有表示任意字符的角色的字符(当作通配符)。
因此,当将由第一种编码方法编码的字符转换成第二种编码方法时,根据本发明的字符串处理装置、字符串处理方法以及成像装置能够将适当的编码方法选作为第二种编码方法,并且适当地处理由第二种编码方法所表示的已转换的字符串。
附图简述当结合附图来阅读时,通过以下详细说明,本发明的其它目的、特征和优点将变得更加明显,在附图中
图1至图6是示出在编码方法当中不同的可表示字符集的图;图7是示出在每一种编码方法当中给字符所分配的字符代码的查询表;图8是示出根据本发明的多功能装置的框图;图9是示出根据本发明的多功能装置的硬件结构的框图;图10是示出用来举例说明根据本发明第一实施例的字符串处理方法的多功能装置的结构的框图;图11是示出根据本发明第一实施例用于请求改变文档名的SOAP消息的结构图;图12是根据本发明第一实施例的编码方法确定操作的流程图;图13是示出根据本发明第一实施例、根据UTF-8、Shift-JIS和Latin1中的每一个的字符代码分配的查询表;图14是示出根据本发明第一实施例的书目信息数据格式的图;图15是用来举例说明根据本发明第二实施例的字符串排序的图;图16是其中根据本发明第二实施例来设置特殊字符的表;图17是示出用来举例说明根据本发明第二实施例的字符串处理装置的多功能装置的结构的框图;图18是用来举例说明根据本发明第二实施例的排序字符串操作的序列图;图19是根据本发明第二实施例的编码操作的流程图;图20是示出根据本发明第二实施例的请求搜索文档名的SOAP消息的结构图图21是用来举例说明根据本发明第二实施例的排序字符串操作的序列图图22是示出用来举例说明根据本发明第三实施例的字符串处理方法的多功能装置的结构的框图;和图23是用来举例说明根据本发明第三实施例的字符串处理方法的序列图。
具体实施例方式
在下面,结合附图对本发明的实施例进行描述。
为了便于理解,首先参照图1至7描述本发明的原理。图1至6是示出在编码方法当中不同的可表示字符集的图。图7是示出在每一种编码方法中给字符所分配的字符代码的查询表。
在图1至6中,Ω表示所有字符的集合。A表示可由编码方法a编码的字符的集合,B表示可由编码方法b编码的字符的集合,而C表示可由编码方法c编码的字符集。
图1示出了字符集A包括可由编码方法b或c编码的字符集B∪C。例如,当编码方法a为UTF-8、编码方法b为Shift-JIS、且编码方法c为Latin1时,建立图1的关系。在图7中示出了当编码方法a为UTF-8、编码方法b为Shift-JIS、且编码方法c为Latin1时的查询表。
图2将可由编码方法a、b和c编码的字符集A∩B∩c表示为阴影部分。根据图7的查询表,例如,字符“1”被包含在图2的阴影部分中。可以对包含在图2阴影部分中的字符执行从由一种编码方法编码的字符到由另一种编码方法编码的字符的转换。
图3将可由编码方法a和b编码而不可由编码方法c编码的字符集A∩B-C示为阴影部分。根据图7的查询表,例如字符“ ”被包含在图3的阴影部分中。不能针对图3阴影部分中包含的字符执行从由一种编码方法编码的字符到由另一种编码方法编码的字符的转换。
根据本发明,在利用编码方法c来对包含在图3阴影部分中的字符进行转换的情况下,用替换码来替换该字符。将未指定给字符的代码用作替换码。
例如,通过将能够表示一个字符的编码方法扩展一个字节获得的两字节字符码可以被用做所述替换码。也可以在未被指定字符的间隙中使用一个字符代码。另外,在字符串处理装置及成像装置中未使用的控制字符,诸如DELETE,也是可用的。
图4将可由编码方法a和c编码而不可由编码方法b编码的字符集A∩C-B示为阴影部分。根据图7的查询表,字符 被包含在图4的阴影部分中。不能对包含在图4阴影部分中的字符执行从由一种编码方法编码的字符到由编码方法b编码的字符的转换。根据本发明,在利用编码方法b来对图4阴影部分中所包含的字符进行转换的情况下,用替换码来替换该字符。
图5将可由编码方法a来编码而不可由编码方法b或c编码的字符集A-(B∪C)示为阴影部分。根据图7的查询表,字符 被包含在图5的阴影部分中。不能对包含在图5阴影部分中的字符执行从由一种编码方法编码的字符到由编码方法b或c编码的字符的转换。根据本发明,在利用编码方法b或c来对图5阴影部分中所包含的字符进行转换的情况下,用替换码来替换该字符。
图6将不可由任意一种编码方法a、b和c来转换的字符集A示为阴影部分。不能对图6阴影部分中的字符执行从由一种编码方法编码的字符到由编码方法a、b或c编码的字符的转换。如果不可转换成由编码方法a编码的字符由一个字符代码来表示,则可以认为从一开始所述字符就是由替换码来表示的。因此,根据本发明,在将图6阴影部分中所包含的字符转换成编码方法b或c的情况下,用根据编码方法b或c的替换码来替换根据编码方法a的替换码。被替换码所替换的字符在诸如操作面板的一个操作屏幕上被显示为不可识别的字符“□”。
根据本发明的字符串处理装置,当可利用多种编码方法时,依据下面所述的用替换码替换的字符的数量、用替换码替换的字符的位置和编码方法的优先级的至少其中之一,来选择编码方法。
以下着重描述作为使用本发明字符串处理方法的字符串处理装置的例子的成像装置中的处理。然而,本发明可应用于任何能将由一种编码方法编码的字符串转换成由另一种编码方法编码的字符串的装置。
在下面实施例中描述的在单个壳体中包含诸如打印机、复印机、传真机及扫描仪等装置功能的成像装置也被称为多功能装置。
该多功能装置包括显示部件、打印部件和图像捕获部件、以及与壳体中的打印机、复印机、传真机和扫描仪相对应的四种类型的软件。该多功能装置通过转换软件而以打印机、复印机、传真机或扫描仪的方式工作。
图8示出了根据本发明的多功能装置1的框图。该多功能装置1包括软件组2、多功能装置激活部件3和硬件资源4。
当多功能装置1通电时,首先启动该激活部件3来激活应用层5和平台6。例如,激活部件3从硬盘驱动单元(在下文中称为HDD)中读出应用层5和平台6的程序,并将读出的程序传送给存储区域,以激活所述程序。
硬件资源4包括黑白激光打印机(B&W LP)11、彩色激光打印机(彩色LP)12和诸如扫描仪和传真机的其它硬件资源13。。
所述软件组2包括在诸如UNIX的操作系统(在下文中称为OS)上激活的应用层5和平台6。该应用层5包括多个用于执行仅限于诸如打印、复印、传真、通信和扫描等与成像相关的用户服务的操作的程序。
应用层5包括打印机应用程序21、复印应用程序22、传真(FAX)应用程序23、扫描仪应用程序24、网络存档应用程序25、和Web服务接口(I/F)26。
平台6包括控制服务层9、系统资源管理器(SRM)39和处理器(handler)层10。该控制服务层9解析从应用层5提供的用于处理的请求(处理请求),并生成用于从硬件资源4那里获取硬件资源的请求(获取请求)。SRM 39管理一个或多个硬件资源4,并在从控制服务层9提供的获取请求之间进行仲裁。处理器层10依照从SRM 39提供的获取请求,来管理硬件资源4。
该控制服务层9包括至少一个服务模块。具体来讲,该控制服务层9包括网络控制服务(NCS)31、传送控制服务(DCS)32、操作面板控制服务(OCS)33、传真控制服务(FCS)34、引擎控制服务(ECS)35、存储器控制服务(MCS)36、用户信息控制服务(UCS)37和系统控制服务(SCS)38。
将平台6配置成包括应用程序接口(API)51,它按预定义功能从应用层5那里接收处理请求。当处理时,所述OS并行执行应用程序5的软件和平台6的软件。
NCS 31的处理通过所述应用程序当中的各自协议分配从所述网络方接收的数据,,并且当将来自于应用程序的数据发送到网络方时,在所述数据之间进行仲裁。
例如,NCS 31的处理控制数据与客户机进行通信,该客户机利用HTTPd(超文本传输协议后台程序)、通过HTTP(超文本传输协议)而连接于网络。
DCS 32的处理控制已存储文档的传送。OCS 33的处理控制操作面板。FCS 34的处理提供API 51,用于使用PSTN或ISDN网络通过应用层5执行传真发送与接收,登记和引用备份存储器中所管理的各种不同的传真数据,读取传真通信,以及打印接收到的传真通信。
ECS 35的处理控制B&W LP 11、彩色LP 12和其它硬件资源13的引擎部件。例如,MCS 36的处理使用HDD、并压缩和解压缩图像数据,来执行获取及释放存储器的存储控制操作。UCS 37的处理管理用户信息。
SCS 38的处理处理执行诸如应用程序管理、操作部件控制、系统屏幕显示、LED显示、硬件资源管理及中断应用程序协议之类的处理。
SRM 39的处理与SCS 38相合作,来执行硬件资源4的系统控制及管理。例如,SRM 39的处理根据来自于更高层的请求,来实现仲裁控制与执行控制,从而获取诸如硬件资源4中的B&W LP 11或彩色LP12之类的硬件资源。
具体而言,SRM 39的处理确定所请求的其中一个硬件资源4(或所请求的硬件资源4)是否可用,即是否所请求的硬件资源4正在被另一个获取请求使用。如果所请求的硬件资源4可用,那么SRM 39就会通知更高层所请求的硬件资源4是可用的。另外,响应于从更高层提供的请求,所述SRM 39的处理执行调度,以供使用硬件资源4,并且直接执行请求的内容,比如由打印机引擎进行馈纸和成像、存储器预定以及文件创建。
处理器层10包括传真控制单元处理器(FCUH)40和图像存储器处理器(IMH)41。该FCUH 40管理下述传真控制单元(FCU)80(图9)。该IMH 41将存储器分配给每个处理,并且管理已分配给每个处理的存储器。
SRM 39、FCUH 40和IMH 41利用引擎I/F 52来向硬件资源4发送处理请求,所述引擎I/F按预定义功能将该处理请求发送到硬件资源4。
图8的结构允许多功能装置1执行对于平台层6中的应用程序来讲一般的必要操作。
接下来,给出多功能装置1的硬件结构说明。图9是示出根据本发明的多功能装置1的硬件结构的框图。该多功能装置1包括控制器60、操作面板70、FCU 80、USB装置90、IEEE1394装置100和引擎部件110。
该控制器60包括CPU 61、系统存储器62、北桥(NB)63、南桥(SB)64、ASIC(应用程序专用集成电路)66、本地存储器67、HDD68和网络I/F控制器69。
操作面板70连接于控制器60的ASIC 66。FCU 80、USB装置90、IEEE1394装置100和引擎部件110均经由PCI总线连接于控制器60的ASIC 66。
在控制器60中,本地存储器67、HDD 68及网络I/F控制器69均连接于ASIC 66,而CPU 61经由CPU芯片组的NB 63连接于ASIC 66。通过经由NB 63连接CPU 61和ASIC 66,就可以支持如下情况,即CPU 61的接口不对公众开放。
为了执行和控制图8中形成应用层5及平台6的一个或多个处理,ASIC 66和NB 63不是经由低速PCI总线相连的,而是经由加速图形接口(AGP)65相连的,借此来防止性能上降低。
CPU 61控制整个多功能装置1。当处理时,CPU 61激活操作系统上的NCS 31、DCS 32、OCS 33、FCS 34、ECS 35、MCS 36、UCS 37、SCS 38、SRM 39、FCUH 40和IMH 41,并使得它们被执行。CPU 61还激活操作系统上的应用层5的打印机应用程序21、复印应用程序22、FAX应用程序23和扫描仪应用程序24、网络存档应用程序25以及Web服务I/F 26,并使得它们被执行。
NB 63是用来连接CPU 61、系统存储器62、SB 64和ASIC 66的桥。将系统存储器62用作多功能装置1的图像绘制的存储器。SB 64是用来将ROM、PCI总线和外部装置(未图示)与NB 63相连的桥。
将本地存储器67用作为用于拷贝的图像缓冲器和代码缓冲器。ASIC 66是图像处理的IC,所述图像处理包括图像处理的硬件元件。HDD 68是用于存储图像数据、文档数据、程序、字体数据及格式的存储装置。操作面板70是接收用户的操作输入并向用户显示信息的操作部件。
下面给出了在从客户机那里接收包含字符串的请求(用于改变或者排序文档名或作者名的请求)的情况下,所述多功能装置1的操作说明,所述客户机是经由网络而连接于该多功能装置1的。
图10是示出用来举例说明根据本发明第一实施例的字符串处理方法的多功能装置1的结构的框图。图10省略了对不必要的结构部件的说明。
现在参照图10,客户机200经由诸如因特网或LAN之类的网络210而连接于多功能装置1。客户机200与多功能装置1以XML(可扩展标记语言)格式来交换数据。例如,该客户机200和多功能装置1将称之为SOAP(简单对象访问协议)的通信协议标准用作数据访问协议。
在图10的步骤S1,客户机200创建以XML格式撰写的SOAP消息,如图11所示。客户机200在HTTP消息中存储(嵌入)所述SOAP消息,并将该HTTP发送到多功能装置1上。图11是示出SOAP消息结构的框图,所述SOAP消息请求改变文档名(题目)。经由NCS 31的HTTPd 220,将从客户机200发送的HTTP消息提供给Web服务I/F 26。
在接收HTTP消息的基础上,Web服务I/F 26通过调度程序来解析SOAP消息,并且此后请求与改变文档名的请求相对应的setTitle对象230执行处理。
在接收由除了在其内部处理中使用的编码方法以外的编码方法编码的字符串(改变后的文档名)的基础上,所述setTitle的对象230首先被要求将所接收的字符串转换成由在所述内部处理中使用的编码方法编码的字符串。这里给出了对如下情况的说明,即将由UTF-8编码的字符串转换成由Shift-JIS或Latin1编码的字符串。
在Web服务I/F 26正在请求执行处理时,对象230确定是否必须要改变字符串的编码方法。如果对象230确定是必须的,则对象230就执行图12中的流程图所表示的处理。
图12是编码方法确定操作的流程图。图13是示出根据UTF-8、Shift-JIS和Latin1中的每一种的字符代码分配的查询表。
在图12的步骤S11中,对象230从HDD 68中获取一个在所述多功能装置1中可以得到(可用的)编码方法的表,并且例如将Shift-JIS选作第一种编码方法。可以随机地或者按表中的优先级次序来安排可用的编码方法。
接下来,在步骤S12中,对象230对字符串『Gte作』进行编码,该字符串的编码方法将被步骤S11中所选择的编码方法Shit-JIS改变。参照图13的查询表,字符“”不可转换成Shift-JIS。接着,在步骤S13中,对象230利用步骤S12中的编码结果确定确定所述字符串是否可以由在步骤S11中所选择的Shift-JIS编码成或高于预定标准的程度。所述预定标准可以是完全编码(即整个字符串都可以被编码),或者不能被转换成所选择编码方法的字符数量少于或等于一个预定数量。在这种情况下,所述预定标准是完全编码。
在这种情况下,完全编码不可由Shift-JIS执行(也就是,步骤S13中的“NO”)。因此,对象230前进至步骤S14。如果完全编码可由在步骤S11中所选择的编码方法执行(也就是,步骤S13中的“YES”),则对象230确定在步骤S11中所选择的编码方法,并结束该操作。
在步骤S14中,例如,对象230例如在系统存储器62中存储字符的数量以及将被从步骤S12编码结果中获得的替换码替换的每个字符的位置。在这种情况下,对象230将“1”存为将被替换码所替换的字符的数量,而将“从开始起第二个(在从字符串开始直到结束的方向上的字符串中的第二个字符)”存为将被替换码所替换的字符的位置。
接下来,在步骤S15中,对象230确定所列编码方法中的任何一种是否仍未被选择。在这种情况下,仍选择Latin1(即,步骤S15中的“YES”)。由此,对象230前进至步骤S16。
在步骤S16中,对象230选择编码方法列表中的Shift-JIS之后的Latin1,并返回至步骤S12。在步骤S12中,对象230对字符串『Gte作』进行编码,该字符串的编码方法将被步骤S16中所选择的Latin1改变。图13的查询表示出了字符“作”不可转换成Latin1。接下来,在步骤S13中,对象230使用步骤S12中的编码结果确定确定所述字符串是否可以完全地由在步骤S16中所选择的Latin1编码。
在这种情况下,完全编码不可由Latin1执行(即,步骤S13中的“NO”)。由此,对象230前进至步骤S14。在步骤S14中,例如,对象230在系统存储器62中存储字符的数量以及每个将被替换码所替换的字符的位置,所述替换码是依据步骤S12中的编码结果来获得的。在这种情况下,对象230将“1”存为将被替换码所替换的字符的数量,而“从开始起第五个”存为将被替换码所替换的字符的位置。
接下来,在步骤S15中,对象230确定所列编码方法中的任何一种是否仍未被选择。在这种情况下,所有列出的编码方法都已被选择(即,步骤S15中的“NO”)。由此,对象230前进至步骤S18。
在步骤S18中,对象230利用将被在步骤S14中存储的替换码所替换的字符的数量及位置、依据预定条件来确定最佳编码方法,并结束该操作。
例如,在步骤S18中,具有最少数量的将被替换码所替换的字符的编码方法可以被确定为最佳编码方法。作为选择,具有连续出现最少次数的将被替换码所替换的字符的编码方法,可以被确定为最佳编码方法。其将被替换码所替换的第一个字符的出现位置最接近于字符串末尾的编码方法,也可以被确定为最佳编码方法。
另外,其将被替换码所替换的字符的平均出现位置最接近于字符串末尾的编码方法,也可以被确定为最佳编码方法。此外,在编码列表中首先出现的编码方法,也可以被确定为最佳编码方法。
此外,可以通过结合两个或多个上述条件或者使用基于两个或多个上述条件的点入系统来确定最佳编码方法。例如,在将具有最少数量的将被替换码所替换的字符、且其将被替换码所替换的第一个字符的出现位置最接近于字符串末尾的编码方法确定为最佳编码方法的情况下,将Latin1选作为对字符串『Gte作』进行编码的编码方法。也可能将具有最少数量的将被替换码所替换的字符的编码方法确定为最佳编码方法,并且如果由两种或多种编码方法共享最少数量的将被替换码所替换的字符,则就确定首先出现在编码方法列表中的编码方法。
在利用图12的流程图选择了最佳编码方法之后,对象230利用所选的编码方法对字符串『Gte作』进行编码。对象230用替换码来替换无法编码的字符。例如,在由Latin1来对『Gte作』进行编码的情况下,从开始起第五个字符“作”被替换码替换。然后,返回来参照图10,对象230前进至步骤S2,在此,对象230使用编码后的字符串请求MCS 36改变文档名。例如,MCS 36在HDD 68中存储如图14中所示格式的书目信息数据。应对象230改变文档名的请求,MCS 36更新书目信息数据。
接下来,在步骤S3中,MCS 36将文档名改变应答发送给对象230。在接收文档名改变应答时,对象230通知Web服务I/F 26操作结束。
在步骤S4中,Web服务I/F 26以XML格式来撰写产生文档名改变应答的SOAP消息。该Web服务I/F 26在HTTP消息中嵌入所述SOAP消息,并将该HTTP消息发送到客户机200。
因此,根据第一实施例的字符串处理方法,在将由一种编码方法编码的字符串转换成由另一种编码方法编码的字符串时,可选择适当的编码方法。
在图10中,在Web服务I/F 26中提供setTitle对象230。作为选择,可以在MCS 36中提供对象230。在于MCS 36中提供对象230的情况下,在由调度程序对SOAP消息进行解析之后,Web服务I/F 26请求MCS 36改变文档名。接着,MCS 36就请求对应于所述请求的setTitle对象230来改变文档名。
在Web服务I/F 26请求改变文档名的基础上,对象230确定是否必须要改变字符串的编码方法。如果是必须的,则对象230就通过图12中流程图的处理来选择最佳编码方法。对象230利用所选的编码方法来编码字符,并且用替换码来替换无法编码的字符。接着,在步骤S2中,对象230使用编码的字符串请求MCS 36改变文档名。其余操作与在Web服务I/F 26中提供setTitle对象230的情况下相同。
在Web服务I/F 26中提供setTitle对象230的优点在于第一实施例的字符串处理方法可以产生用于支持Web服务的选项,所述字符串处理方法对于连接于网络210的多功能装置而言不是功能必须的。在另一方面,在MCS 36中提供setTitle对象230的优点在于第一实施例的字符串处理方法也可由诸如打印机I/F之类的另一I/F使用。
下面给出本发明第二实施例的说明。
在如第一实施例用替换码来替换不可转换字符的情况下,存在这样的问题,即用替换码所替换的所有字符可被视作与例如在排序已转换字符串时的相同。另外,如果只有当编码方法相同时才将字符视为是相同的,则就存在这样的问题,即可能会把同一字符视为是不同的字符。
因此,根据第二实施例的多功能装置1通过把将被排序的第一字符串的编码方法改变成与将被用于对所述第一字符串进行排序的第二字符串相同的编码方法、且将包含在已转换的第一字符串中的替换码当作通配符解决了上述问题。
图15是用来举例说明根据第二实施例的字符串排序的图。例如,现在参照图15,由UTF-8编码的『Gte作』,被Shift-JIS或Latin1编码且再被UTF-8编码成为字符串,该字符串不同于『Gte作』。由此,通过对用替换码所表示的无法识别的字符进行处理,精确匹配『Gte作』的字符串可以通过排序来获得。另外,其开始与“Gte”匹配的字符串可以通过排序来获得。此外,根据UTF-8,诸如Window和MAC等不同的0S,具有分配给相同字符的不同字符代码,例如如图16所示。图16示出了其中设置特殊字符的表的结构。通过在如图16所示的表中预先设置这种特殊字符,利用本发明的字符串处理方法而分配了不同字符代码的字符,可以视为是相同的。图16的表是数据保存格式,例如可以是XML格式。
通过使用图16的表,本发明的字符串处理方法即便对包含特殊字符的字符串也能够执行精确排序。根据本发明的字符串处理方法,通过将所述表中大写字母与小写字母之间的关系以及日语平假名与片假名字符之间的关系设置为特殊字母,不同的字符也可以被视为是相同的。
图17是示出用来举例说明根据本发明第二实施例的字符串处理方法的多功能装置1的结构的框图。图17省略了对不必要的结构部件的说明。另外,除了一些部件之外,多功能装置1的图17中的结构等同于图10中的结构,而且适当的省略了其中的说明。
图17的多功能装置1具有与排序Web服务I/F 26中所提供的文档名的请求相对应的搜索对象240,并且包括Web服务I/F 26所使用的高速缓存250。
图18是举例说明排序字符串操作的流程图。参照图18,当通过字符串编码方法的转换、客户机给出伴随文档名的改变建立一个文档或创建一个文档的指令时,或者当操作者操纵操作面板70以给出改变文档名或创建文档的指令时,多功能装置1的OCS 33前进至步骤S21,在该步骤,OCS 33将改变文档名或创建文档的请求发送给MCS 36。
接下来,在步骤S22中,MCS 36接收改变文档名或创建文档的请求,并根据该请求来更新图14的书目信息数据。然后,MCS 36将文件改变通知发送到Web服务I/F 26。
接收文件改变通知的Web服务I/F 26,请求搜索对象240执行处理。图19是根据第二实施例的编码操作的流程图。
在图19的步骤S31中,包括在已接收文件改变通知中的文档名被转换成由UTF-8编码的文档名,这是由于包括在已接收文件改变通知中的文档名是由用于内部处理中的Shift-JIS或Latin1来编码的。接下来,在步骤S32中,通过将已接收文件改变通知中所包含的文档ID用作密钥信息,对象240搜索高速缓存250以查找相应的文档名,并将所述相应的文档名与已编码的文档名进行排序。
接下来,在步骤S33中,对象240依据步骤S32中的排序结果来确定由UTF-8编码的文档名与从高速缓250中搜索出来的文档名是否相同。
如果对象240确定由UTF-8编码的文档名与从高速缓存250中搜索出来的文档名是相同的(即,步骤S33中的“YES”),则对象240就结束图19的编码操作。
例如,如果由UTF-8编码的文档名是『G□te作』,而从高速缓存250中搜索出来的文档名是『Gte作』,那么如上所述,通过把替换码所表示的无法识别的字符当作通配符,就可以将由UTF-8编码的文档名与从高速缓存250中搜索出来的文档名视为是相同的。在从客户机200设置文档名的情况下,如果在从客户机200设置文档名时,字符串在被转换成内部处理中所使用的编码方法之前首先被存储在高速缓存250中,则就会发生这种情况。
在另一方面,如果对象240确定由UTF-8编码的文档名与从高速缓冲250中搜索出来的文档名是不同的(即,步骤S33中的“NO”),那么对象240就在高速缓存250中将由UTF-8编码的文档名存为新文档名,并结束该编码操作。
例如,如果由UTF-8编码的文档名是『ゲ-テ作』,而从高速缓存250中搜索出来的文档名是『Gte作』,那么不能将由UTF-8编码的文档名与从高速缓存250中搜索出来的文档名视为是相同的。因此,对象240在高速缓存250中将由UTF-8编码的文档名『ゲ-テ作』存为新文档名。在从客户机200设置文档名的情况下,如果字符串在被转换成内部处理中所使用的编码方法之前被存储在高速缓存250中,则从高速缓存250中搜索出来的文档名不会是『Gte作』,而是『G□te作』。然而,即使把无法识别的字符当作通配符,它与『ゲ-テ作』也是不同的。由此,产生了相同的结果。
所以,在图17的多功能装置1中,当存在需要改变的文档名时,文档名的编码方法会从内部处理中所使用的Shift-JIS或Latin1改变成UTF-8。
返回参照图18,在步骤S23中,如图20所示,客户机200创建以XML格式撰写的SOAP消息。该客户机200在HTTP消息中嵌入所述SOAP消息,并将该HTTP消息发送到多功能装置1。图20是示出请求搜索文档名的SOAP消息的结构框图。经由NCS 31的httpd 220,将从客户机200发送来的HTTP消息提供给Web服务I/F 26。
在接收HTTP消息的处理中,Web服务I/F 26利用调度程序来解析所述SOAP消息,并请求搜索对象240以便执行处理(搜索文档名)。
在接收由UTF-8编码的字符串(将被搜索的文档名)的处理中,对象240通过将该字符串用作密钥信息,来搜索高速缓存250以查找相应的文档名,并将搜索出来的文档名与该字符串进行排序。在完成字符串排序之后,对象240通知Web服务I/F 26操作结束。
在步骤S24中,Web服务I/F 26以XML格式撰写产生文档名搜索应答的SOAP消息。该Web服务I/F 26在HTTP消息中嵌入所述SOAP消息,并将该HTTP消息发送到客户机200。
因此,根据第二实施例的字符串处理方法,当将转换后的字符串与转换前的字符串进行排序时,由于编码方法之间的差异而造成的转换后的字符串差异,就能够消除掉。另外,使用高速缓存250免除了每当排序转换后的字符串时查询MCS 36的麻烦。此外,在从客户机200设置文档名的情况下,通过使用允许在被转换成内部处理中所使用的编码方法之前、在高速缓存250中存储字符串的方法,在从客户机200执行文档名搜索时,对包含无法识别的字符的转换前的字符串进行排序。由此,搜索准确度比把无法识别的字符当作通配符的情况下高。
根据图17的结构,在Web服务I/F 26中提供搜索对象240。作为选择,也可以在MCS 36中提供该对象240。图21是用来举例说明在于MCS 36中提供对象240的情况下、排序字符串操作的流程图。
现在参照图21,当通过字符串的编码方法的转换、从客户机200给出伴随改变文档名或创建文档的设置文档名的指令时,或者当操作者操纵操作面板70以给出改变文档名或创建文档的指令时,多功能装置1的OCS 33前进至步骤S41,在该步骤中,OCS 33将改变文档名或创建文档的请求发送给MCS 36。
在接收改变文档名或创建文档的请求时,MCS 36根据该请求来更新图14的书目信息数据。接着,MCS 36请求搜索对象240执行处理。
如图19所示,对象240执行编码操作。如果对象240确定可将由UTF-8编码的文档名与从高速缓50中搜索出来的文档名视为是相同的,那么对象240就在高速缓存250中将由UTF-8编码的文档名存为新文档名。
所以,在图17的多功能装置1中,当存在将被改变的文档名时,该文档名的编码方法会从内部处理中所使用的Shift-JIS或Latin1改变成UTF-8。
在步骤S42中,如图20所示,客户机200创建以XML格式撰写的SOAP消息。客户机200在HTTP消息中嵌入所述SOAP消息,并将该HTTP消息发送到多功能装置1。经由NCS 31的httpd 220,将从客户机200发送来的HTTP消息提供给Web服务I/F 26。
在接收HTTP消息的处理中,Web服务I/F 26利用调度程序来解析所述SOAP消息。接下来,在步骤S43中,Web服务I/F 26将搜索文档名的请求发送给MCS 36。接收该请求的MCS 36,请求搜索对象240执行处理。
在接收由UTF-8编码的字符串(将被搜索的文档名)时,对象240通过把字符串用作密钥信息,来搜索高速缓存250以查找相应的文档名,并将搜索出来的文档名与该字符串进行排序。在完成字符串排序之后,对象240通知MCS 36操作结束。
在步骤S44中,MCS 36将文档名的搜索结果发送到Web服务I/F26。在步骤S45中,Web服务I/F 26以XML格式来撰写产生文档名搜索应答的SOAP消息。该Web服务I/F 26在HTTP消息中嵌入所述SOAP消息,并将该SOAP消息发送到客户机200。
所以,根据第二实施例的字符串处理方法,当将转换后的字符串与转换前的字符串进行排序时,由于编码方法的差异而造成的转换后的字符串差异,能够消除掉。
在Web服务I/F 26中提供搜索对象240的优点在于第二实施例的字符串处理方法能够提供用于支持Web服务的选项,其中所述字符串处理方法对于连接于网络的多功能装置而言不是必须的功能。在另一方面,在MCS 36中提供搜索对象240的优点在于第二实施例的字符串处理方法也可以由诸如打印机I/F之类的另一I/F使用。
上述第一实施例的多功能装置1不包括高速缓存250。然而,就像图17的结构一样,第一实施例的多功能装置1(图10)也可以包括由Web服务I/F 26或MCS 36使用的高速缓存250。
通过在第一实施例的多功能装置1中并入高速缓存250,就能在该高速缓存250中存储转换前的字符串。因此,通过在高速缓存250中存储转换前的字符串,可以将转换前的字符串用于字符串排序,以便提高排序的精确度。
下面给出本发明第三实施例的说明。
在上述第一实施例中,编码方法的优先级次序是固定的。然而,编码方法的优先级次序可以依各种条件而变化。因此,在第三实施例中,给出编码方法的优先级次序依各种条件而变化的情况下的说明。
图22是示出用来举例说明根据本发明第三实施例的多功能装置1的结构的框图。图23是用来举例说明根据第三实施例的字符串处理方法的序列图。图22和23忽略了对不必要的结构部件的说明。另外,除了一些部件之外,图22中的结构等同于图10中的结构,并且适当地省略了其中的说明。
在图23的步骤S51中,客户机200的浏览器201产生指定为URL的http请求。在步骤S51中所指定的URL,例如为“http∥111.222.33.44/ja/documentbox/”。该URL是将浏览器201的语言显示为日语情况下的一个示例。在URL中用“ja”将日语指定为显示语言。将从浏览器201发送来的http请求提供给httpd 220,该httpd包含在多功能装置1的NCS 31中。
接下来,在步骤S52中,httpd 220给Web应用程序27提供http请求,该http请求是从浏览器201提供来的。在接收该http请求时,Web应用程序27依据http请求所指定的URL,来指定浏览器201的显示语言,并根据该显示语言来生成屏幕数据。
接下来,在步骤S53中,Web应用程序27将已生成的屏幕数据提供给httpd 220。接着,在步骤S54中,httpd 220将所提供的屏幕数据发送到客户机200的浏览器201上。
在接收屏幕数据时,浏览器201前进至步骤S55,在该步骤中,浏览器201根据屏幕数据来显示一屏幕。然后,用户在浏览器201上所显示的屏幕上面输入字符串。接下来,在步骤S56中,客户机200的浏览器201产生包含字符串的http请求,该字符串是在步骤S55中、在屏幕上面输入的。将从浏览器201那里发送来的http请求提供给多功能装置1的httpd 220。
在步骤S57中,httpd 220给Web应用程序27提供已提供的http请求。在接收该http请求时,Web应用程序27前进至步骤S58,在该步骤中,Web应用程序27获得http请求中所包含的字符串,并请求setTitle对象230执行处理。
如果setTitle对象230所接收到的字符串是由其它编码方法来编码的,而不是由内部处理中所使用的编码方法来编码的,则需要对象230将已接收的字符串转换成由内部处理中使用的编码方法所编码的字符串。因此,对象230确定是否必须要改变已接收字符串的编码方法,并且如果是必须的,对象230就执行图12中流程图的上述处理。
在图12的步骤S11的处理上,第三实施例不同于第一实施例。对象230按照如下那样来确定编码方法的优先级次序,并根据所确定的优先级次序来选择编码方法。优先级次序的确定按照如下步骤来执行。首先,给支持浏览器201的显示语言的编码方法高优先级,给支持操作面板70的显示语言的编码方法中优先级,而给其它编码方法低优先级。在这种情况下,支持浏览器201的显示语言的编码方法具有最高优先级,支持操作面板70的显示语言的编码方法具有次等优先级,而其它的编码方法具有最低优先级。
除了步骤S11之外,所有步骤均与第一实施例中的相同,并且省略了对其的说明。在根据图12中的流程图来选择最佳编码方法之后,对象230利用所选编码方法来对字符串进行编码。对象230用替换码来替换无法编码的字符。
然后,在步骤S59中,Web应用程序27根据步骤S57的http请求来生成屏幕数据,并将该屏幕数据提供给httpd 220。接下来,在步骤S60中,httpd 220将所提供的屏幕数据发送到客户机200的浏览器201上。
所以,根据第三实施例的字符串处理方法,在将由一种编码方法编码的字符串转换成由另一种编码方法编码的字符串时,允许编码方法的优先级次序依各种条件而变化。因此,就可以选择适当的编码方法。
在图22的结构中,在Web应用程序27中提供setTitle对象230。作为选择,可以在MCS 36中提供该对象230。在Web应用程序27中提供对象230的优点在于第三实施例的字符串处理方法能够产生Web应用程序27的选项,其中所述字符串处理方法不是功能必须的。在另一方面,在MCS 36中提供对象230的优点在于第三实施例的字符串处理方法也可以由诸如打印机应用程序21之类的另一应用程序使用。
根据本发明,当将第一种编码方法编码的第一字符串转换成第二种编码方法(由第二种编码方法编码的第二字符串)时,可以根据一个或多个替换码的数量信息及位置信息(替换码的数量及每个替换码的位置),来确定该第二种编码方法。另外,根据本发明,可以把由第二种编码方法编码的第二字符串中包含的替换码当作具有表示任意字符的角色的字符(当作通配符)。
本发明并不限于具体公开的实施例,并且在不背离本发明范围的情况下,可以作出变形和修改。
根据本发明,将由第一种编码方法编码的字符串转换成从多种编码方法中选出的第二种编码方法(由第二种编码方法编码的另一种字符串)的字符串处理装置,包括选择编码方法的编码方法确定部件,并在将字符串转换成所选编码方法时,相对于每种所选的编码方法来获得一个或多个替换码的数量信息及位置信息的至少其中之一,并且根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
编码方法确定部件可以依据数量信将具有最少数量的替换码的编码方法确定为第二种编码方法。
编码方法确定部件可以依据数量信息将具有连续出现最少次数的替换码的编码方法确定为第二种编码方法。
编码方法确定部件可以依据位置信息将如下编码方法确定为第二种编码方法,所述编码方法的字首的其中一个替换码的出现位置最接近于已转换字符串的末尾。
编码方法确定部件可以依据位置信息将如下编码方法确定为第二种编码方法,所述编码方法的替换码的平均出现位置最接近于已转换字符串的末尾。
编码方法确定部件可以依据替换码数量、替换码连续出现的次数、字首的其中一个替换码的出现位置以及基于数量和位置信息的替换码的平均出现位置的组合来确定第二种编码方法。
编码方法确定部件可以将替换码的数量、替换码连续出现的次数、字首的其中一个替换码的出现位置、以及替换码的平均出现位置转换成数值,并根据该数值来确定第二种编码方法。
当替换码的数量、替换码连续出现的次数、字首的其中一个替换码的出现位置、以及替换码的平均出现位置的任何一个被两种或多种编码方法共享时,该编码方法确定部件可以根据数量信息及位置信息,来将首先出现在编码方法列表中的两种或多种编码方法的其中一种确定为第二种编码方法。
当替换码的数量、替换码连续出现的次数、字首的其中一个替换码的出现位置、以及替换码的平均出现位置的任何一个被两种或多种编码方法共享时,该编码方法确定部件可以依照基于数量信息及位置信息的编码方法的优先级,来确定第二种编码方法。
如果当将字符串转换成所选编码方法时,替换码未出现,那么编码方法确定部件就将所选的编码方法确定为第二种编码方法。
本申请是以2003年1月24日申请的2003-016427号及2004年1月9日申请的2004-004123号日本在先专利申请为基础的,将其全部内容引用与此以供参考。
权利要求
1.一种字符串处理装置,其将由第一种编码方法编码的字符串转换成从多种编码方法中选出的第二种编码方法,所述字符串处理装置包括编码方法确定部件,用于选择编码方法,并在利用所选的编码方法对字符串进行转换时,相对于每种所选的编码方法获得数量信息及位置信息的至少其中之一,并且根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
2.如权利要求1所述的字符串处理装置,其中所述编码方法确定部件根据次序来选择编码方法,并且如果在利用所选编码方法来对字符串进行转换时、替换码的数量信息及位置信息的至少其中之一不符合预定标准,则选择下一种编码方法。
3.如权利要求1所述的字符串处理装置,其中所述编码方法确定部件根据优先级次序来选择编码方法,并且如果在利用所选编码方法来对字符串进行转换时、替换码的数量信息及位置信息的至少其中之一不符合预定标准,则选择下一种选择编码方法。
4.如权利要求3所述的字符串处理装置,其中所述编码方法的优先级次序依被设置为操作面板显示语言的语言而变化。
5.如权利要求3所述的字符串处理装置,其中所述编码方法的优先级次序依被设置为客户机显示语言的语言而变化,所述客户机已经给出转换字符串的指令。
6.如权利要求1所述的字符串处理装置,其中如果阻止所述编码方法确定部件根据替换码的数量信息及位置信息的至少其中之一来确定第二种编码方法,则所述编码方法确定部件就根据编码方法的优先级次序来确定第二种编码方法。
7.如权利要求1所述的字符串处理装置,其中如果在利用所选编码方法来对字符串进行编码时、替换码的数量信息及位置信息的至少其中之一符合预定标准,所述编码方法确定部件就将所选的编码方法确定为第二种编码方法。
8.如权利要求1所述的字符串处理装置,其中每个替换码是替换字符串中字符的字符代码,其中该字符串的字符是不可利用所选编码方法来转换的。
9.一种字符串处理装置,其利用由第一种编码方法编码的第一字符串,来排序由第二种编码方法编码的第二字符串,该字符串处理装置包括字符串排序部件,用于将第二字符串转换成第一种编码方法,并且在将已转换的第二字符串与第一字符串进行排序时,把已转换的第二字符串中所包含的替换码当作具有表示任意字符的角色的字符。
10.如权利要求9所述的字符串处理装置,进一步包括存储部件,用于在由第二种编码方法进行编码之前存储第二字符串,其中当将第二字符串与第一字符串进行排序时,使用在由第二种编码进行编码之前存储在所述存储部件中的第二字符串。
11.如权利要求9所述的字符串处理装置,进一步包括在其中具有由第一种编码方法编码的字符的表,对被分配了不同字符代码的字符进行设置。
12.如权利要求9所述的字符串处理装置,其中替换码是替换第二字符串中字符的字符代码,所述字符串的字符对于的一种编码方法而言是不可转换的。
13.一种字符串处理方法,其将由第一种编码方法编码的字符串转换成从多种编码方法中选出的第二种编码方法,该字符串处理方法包括以下步骤(a)选择编码方法;(b)在利用所选的编码方法来对字符串进行转换时,相对于每种所选的编码方法来获得一个或多个替换码的数量信息及位置信息的至少其中之一;以及(c)根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
14.如权利要求13所述的字符串处理方法,其中每个替换码都是替换字符串中字符的字符代码,所述字符串对于所选编码方法而言是不可转换的。
15.一种字符串处理方法,其利用由第一种编码方法编码的第一字符串,排序由第二种编码方法编码的第二字符串,所述字符串处理方法包括以下步骤(a)将第二字符串转换成第一种编码方法;以及(b)将已转换的第二字符串与第一字符串进行排序,把已转换的第二字符串中所包含的替换码当作具有表示任意字符的角色的字符。
16.如权利要求15所述的字符串处理方法,其中替换码是替换第二字符串中字符的字符代码,所述第二字符串的字符对于第一种编码方法而言是不可转换的。
17.一种成像装置,其包括将由第一种编码方法编码的字符串转换成从多种编码方法中选出的第二种编码方法的字符串处理部件,所述成像装置包括编码方法确定部件,用于选择编码方法,并在利用所选的编码方法对字符串进行转换时,相对于每种所选的编码方法获得数量信息及位置信息的至少其中之一,并且根据数量信息及位置信息的至少其中之一来确定第二种编码方法。
18.如权利要求17所述的成像装置,其中每个替换码都是替换字符串中字符的字符代码,所述字符串的字符对于所选的编码方法而言是不可转换的。
19.一种成像装置,其包括字符串处理部件,该字符串处理部件利用由第一种编码方法编码的第一字符串,排序由第二种编码方法编码的第二字符串,该成像装置包括字符串排序部件,用于将第二字符串转换成第一种编码方法,并且在将已转换的第二字符串与第一字符串进行排序时,把已转换的第二字符串中所包含的替换码当作具有表示任意字符的角色的字符。
20.如权利要求19所述的成像装置,其中替换码是替换第二字符串中字符的字符代码,所述第二字符串的字符对于第一种编码方法而言是不可转换的。
全文摘要
公开了一种将由第一种编码方法编码的字符串转换成从多种编码方法中选出的第二种编码方法的字符串处理装置。该字符串处理装置包括选择编码方法的编码方法确定部件,并在将字符串转换成所选编码方法时,相对于每种所选的编码方法来获得数量信息及位置信息的至少其中之一,并且根据所述数量信息及位置信息的至少其中之一来确定第二种编码方法。
文档编号G06F17/21GK1520040SQ20041000528
公开日2004年8月11日 申请日期2004年1月24日 优先权日2003年1月24日
发明者松田透 申请人:株式会社理光