專利名稱:字符串處理裝置、字符串處理方法和成像裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及字符串處理裝置、字符串處理方法和成像裝置,更具體而言,涉及將由一種編碼方法(字符代碼集)編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串的字符串處理裝置、字符串處理方法和成像裝置。
背景技術(shù):
編碼方法將字符和符號(hào)(下文中簡(jiǎn)稱為字符)轉(zhuǎn)換成指定給它們的各自字符代碼,以便在計(jì)算機(jī)上處理所述字符。通常,根據(jù)語(yǔ)言或計(jì)算機(jī)系統(tǒng)來使用不同的編碼方法。例如,因特網(wǎng)使用UTF-8或UTF-16,以便支持世界的主要語(yǔ)言,所述UTF-8或UTF-16將Unicode用作為標(biāo)準(zhǔn)的編碼方法。此外,字符串處理裝置和成像裝置采用Shift-JIS或Latin1作為編碼方法。
當(dāng)需要時(shí),通常能夠使用多種編碼方法的字符串處理裝置將由一種編碼方法編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串。作為根據(jù)其購(gòu)買者的語(yǔ)言而在用戶接口中的必要和充分條件,成像裝置具有少量的編碼方法,以便節(jié)省字體ROM的容量。
通常,連接于諸如因特網(wǎng)等網(wǎng)絡(luò)的字符串處理裝置或成像裝置當(dāng)從網(wǎng)絡(luò)方接收包含例如以Unicode表示的字符串的請(qǐng)求(比如改變文檔名的請(qǐng)求)時(shí)將字符串轉(zhuǎn)換成由在內(nèi)部處理中使用的編碼方法編碼的字符串。
第11-512543號(hào)PCT國(guó)際申請(qǐng)的日本譯本(translation)公開了一種用于將由一種編碼方法編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串的技術(shù)。
通常,字符串處理裝置和成像裝置能夠使用多種編碼方法,且因此就需要選擇編碼方法來使用。
然而,可描述的字符集在不同的編碼方法當(dāng)中是不同的。因此,轉(zhuǎn)換前可以由一種編碼方法表示的字符在轉(zhuǎn)換后不必可以由另一種編碼方法來表示。所以,在這里就存在一個(gè)問題,即不可能依據(jù)轉(zhuǎn)換前后的所述編碼方法的組合完全轉(zhuǎn)換所有的字符串。
例如,可由一種編碼方法表示的字符集不必包括可以Unicode表示的所有字符集的字符,所述編碼方法被用在字符串處理裝置或成像裝置的內(nèi)部處理中,比如Shift-JIS或Latin1。因此,即使字符能夠以Unicode來表示,所述字符也不必由在內(nèi)部處理中采用的編碼方法來表示。
因此,對(duì)于常規(guī)的字符串處理裝置和成像裝置而言,編碼方法的選擇是重要的,這是因?yàn)槿Q于選擇哪種編碼方法來對(duì)由另一種編碼方法編碼的字符串進(jìn)行轉(zhuǎn)換,不可轉(zhuǎn)換的字符的數(shù)量是不同的。另外,對(duì)于常規(guī)的字符串處理裝置和成像裝置而言,例如在排序(collate)已轉(zhuǎn)換的字符串的情況下,對(duì)未能轉(zhuǎn)換的字符進(jìn)行的處理也是重要的。此外一些編碼方法將不同的字符代碼分配給單個(gè)字符,并且這種特殊字符的處理也是重要的。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)總體目的是,提供一種字符串處理裝置、字符串處理方法和一種成像裝置,在其中消除了上述缺點(diǎn)。
本發(fā)明的一個(gè)更為具體的目的是,提供一種字符串處理裝置、字符串處理方法和一種成像裝置,它們?cè)趯⒂傻谝环N編碼方法編碼的字符串轉(zhuǎn)換成由第二種編碼方法編碼的字符串時(shí),能夠選擇適當(dāng)編碼方法,并且能夠適當(dāng)?shù)靥幚砜捎傻诙N編碼方法表示的已轉(zhuǎn)換的字符串。
本發(fā)明的上述目的是通過如下字符串處理裝置來實(shí)現(xiàn)的,所述字符串處理裝置將由第一種編碼方法編碼的字符串轉(zhuǎn)換成由從多種編碼方法中選出的第二種編碼方法編碼的字符串,該字符串處理裝置包括編碼方法確定部件,用于選擇編碼方法,并在利用所選的編碼方法對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),根據(jù)每種所選的編碼方法獲得一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息的至少其中之一,并且根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
本發(fā)明的上述目的是通過如下字符串處理裝置來實(shí)現(xiàn)的,所述字符串處理裝置使用由第一種編碼方法編碼的第一字符串排序由第二種編碼方法編碼的第二字符串,該字符串處理裝置包括字符串排序部件,用于將第二字符串轉(zhuǎn)換成第一種編碼方法,并且在利用所述第一字符串排序已轉(zhuǎn)換的第二字符串第一字符串時(shí),把已轉(zhuǎn)換的第二字符串中所包含的替換碼處理為具有表示任意字符的角色的字符。
本發(fā)明的上述目的是通過如下字符串處理方法來實(shí)現(xiàn)的,所述字符串處理方法將由第一種編碼方法編碼的字符串轉(zhuǎn)換成由從多種編碼方法中選出的第二種編碼方法編碼的字符串,該字符串處理方法包括以下步驟(a)選擇編碼方法;(b)在利用所選的編碼方法來對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),根據(jù)每種所選的編碼方法來獲得一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息的至少其中之一;以及(c)根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
本發(fā)明的上述目的是通過如下字符串處理方法來實(shí)現(xiàn)的,所述字符串處理方法利用由第一種編碼方法編碼的第一字符串排序由第二種編碼方法編碼的第二字符串,該字符串處理方法包括以下步驟(a)將第二字符串轉(zhuǎn)換成由第一種編碼方法編碼的字符串;以及(b)使用所述第一字符串排序已轉(zhuǎn)換的第二字符串第一字符串,把在已轉(zhuǎn)換的第二字符串中所包含的替換碼處理為具有表示任意字符的角色的字符。
本發(fā)明的上述目的是通過如下成像裝置實(shí)現(xiàn)的,所述成像裝置包括將由第一種編碼方法編碼的字符串轉(zhuǎn)換成由從多種編碼方法中選出的第二種編碼方法編碼的字符串的字符串處理部件,該成像裝置包括編碼方法確定部件,用于選擇編碼方法,并在利用所選的編碼方法對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),根據(jù)每種所選的編碼方法獲得一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息的至少其中之一,并且根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
本發(fā)明的上述目的是通過如下成像裝置來實(shí)現(xiàn)的,所述成像裝置包括字符串處理部件,該字符串處理部件使用由第一種編碼方法編碼的第一字符串排序由第二種編碼方法編碼的第二字符串,該成像裝置包括字符串排序部件,用于將第二字符串轉(zhuǎn)換成由第一種編碼方法編碼的字符串,并且當(dāng)使用所述第一字符串排序已轉(zhuǎn)換的第二字符串第一字符串時(shí),把在已轉(zhuǎn)換的第二字符串中所包含的替換碼處理為具有表示任意字符的角色的字符。
根據(jù)本發(fā)明,當(dāng)由第一種編碼方法編碼的第一字符串被轉(zhuǎn)換成由第二種編碼方法編碼的第二字符串時(shí),該第二種編碼方法可以根據(jù)一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息(每個(gè)替換碼的數(shù)量及每個(gè)替換碼的位置)來確定。另外,根據(jù)本發(fā)明,第二字符串中所包含的替換碼可以當(dāng)作具有表示任意字符的角色的字符(當(dāng)作通配符)。
因此,當(dāng)將由第一種編碼方法編碼的字符轉(zhuǎn)換成第二種編碼方法時(shí),根據(jù)本發(fā)明的字符串處理裝置、字符串處理方法以及成像裝置能夠?qū)⑦m當(dāng)?shù)木幋a方法選作為第二種編碼方法,并且適當(dāng)?shù)靥幚碛傻诙N編碼方法所表示的已轉(zhuǎn)換的字符串。
附圖簡(jiǎn)述當(dāng)結(jié)合附圖來閱讀時(shí),通過以下詳細(xì)說明,本發(fā)明的其它目的、特征和優(yōu)點(diǎn)將變得更加明顯,在附圖中
圖1至圖6是示出在編碼方法當(dāng)中不同的可表示字符集的圖;圖7是示出在每一種編碼方法當(dāng)中給字符所分配的字符代碼的查詢表;圖8是示出根據(jù)本發(fā)明的多功能裝置的框圖;圖9是示出根據(jù)本發(fā)明的多功能裝置的硬件結(jié)構(gòu)的框圖;圖10是示出用來舉例說明根據(jù)本發(fā)明第一實(shí)施例的字符串處理方法的多功能裝置的結(jié)構(gòu)的框圖;圖11是示出根據(jù)本發(fā)明第一實(shí)施例用于請(qǐng)求改變文檔名的SOAP消息的結(jié)構(gòu)圖;圖12是根據(jù)本發(fā)明第一實(shí)施例的編碼方法確定操作的流程圖;圖13是示出根據(jù)本發(fā)明第一實(shí)施例、根據(jù)UTF-8、Shift-JIS和Latin1中的每一個(gè)的字符代碼分配的查詢表;圖14是示出根據(jù)本發(fā)明第一實(shí)施例的書目信息數(shù)據(jù)格式的圖;圖15是用來舉例說明根據(jù)本發(fā)明第二實(shí)施例的字符串排序的圖;圖16是其中根據(jù)本發(fā)明第二實(shí)施例來設(shè)置特殊字符的表;圖17是示出用來舉例說明根據(jù)本發(fā)明第二實(shí)施例的字符串處理裝置的多功能裝置的結(jié)構(gòu)的框圖;圖18是用來舉例說明根據(jù)本發(fā)明第二實(shí)施例的排序字符串操作的序列圖;圖19是根據(jù)本發(fā)明第二實(shí)施例的編碼操作的流程圖;圖20是示出根據(jù)本發(fā)明第二實(shí)施例的請(qǐng)求搜索文檔名的SOAP消息的結(jié)構(gòu)圖圖21是用來舉例說明根據(jù)本發(fā)明第二實(shí)施例的排序字符串操作的序列圖圖22是示出用來舉例說明根據(jù)本發(fā)明第三實(shí)施例的字符串處理方法的多功能裝置的結(jié)構(gòu)的框圖;和圖23是用來舉例說明根據(jù)本發(fā)明第三實(shí)施例的字符串處理方法的序列圖。
具體實(shí)施例方式
在下面,結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行描述。
為了便于理解,首先參照?qǐng)D1至7描述本發(fā)明的原理。圖1至6是示出在編碼方法當(dāng)中不同的可表示字符集的圖。圖7是示出在每一種編碼方法中給字符所分配的字符代碼的查詢表。
在圖1至6中,Ω表示所有字符的集合。A表示可由編碼方法a編碼的字符的集合,B表示可由編碼方法b編碼的字符的集合,而C表示可由編碼方法c編碼的字符集。
圖1示出了字符集A包括可由編碼方法b或c編碼的字符集B∪C。例如,當(dāng)編碼方法a為UTF-8、編碼方法b為Shift-JIS、且編碼方法c為L(zhǎng)atin1時(shí),建立圖1的關(guān)系。在圖7中示出了當(dāng)編碼方法a為UTF-8、編碼方法b為Shift-JIS、且編碼方法c為L(zhǎng)atin1時(shí)的查詢表。
圖2將可由編碼方法a、b和c編碼的字符集A∩B∩c表示為陰影部分。根據(jù)圖7的查詢表,例如,字符“1”被包含在圖2的陰影部分中??梢詫?duì)包含在圖2陰影部分中的字符執(zhí)行從由一種編碼方法編碼的字符到由另一種編碼方法編碼的字符的轉(zhuǎn)換。
圖3將可由編碼方法a和b編碼而不可由編碼方法c編碼的字符集A∩B-C示為陰影部分。根據(jù)圖7的查詢表,例如字符“ ”被包含在圖3的陰影部分中。不能針對(duì)圖3陰影部分中包含的字符執(zhí)行從由一種編碼方法編碼的字符到由另一種編碼方法編碼的字符的轉(zhuǎn)換。
根據(jù)本發(fā)明,在利用編碼方法c來對(duì)包含在圖3陰影部分中的字符進(jìn)行轉(zhuǎn)換的情況下,用替換碼來替換該字符。將未指定給字符的代碼用作替換碼。
例如,通過將能夠表示一個(gè)字符的編碼方法擴(kuò)展一個(gè)字節(jié)獲得的兩字節(jié)字符碼可以被用做所述替換碼。也可以在未被指定字符的間隙中使用一個(gè)字符代碼。另外,在字符串處理裝置及成像裝置中未使用的控制字符,諸如DELETE,也是可用的。
圖4將可由編碼方法a和c編碼而不可由編碼方法b編碼的字符集A∩C-B示為陰影部分。根據(jù)圖7的查詢表,字符 被包含在圖4的陰影部分中。不能對(duì)包含在圖4陰影部分中的字符執(zhí)行從由一種編碼方法編碼的字符到由編碼方法b編碼的字符的轉(zhuǎn)換。根據(jù)本發(fā)明,在利用編碼方法b來對(duì)圖4陰影部分中所包含的字符進(jìn)行轉(zhuǎn)換的情況下,用替換碼來替換該字符。
圖5將可由編碼方法a來編碼而不可由編碼方法b或c編碼的字符集A-(B∪C)示為陰影部分。根據(jù)圖7的查詢表,字符 被包含在圖5的陰影部分中。不能對(duì)包含在圖5陰影部分中的字符執(zhí)行從由一種編碼方法編碼的字符到由編碼方法b或c編碼的字符的轉(zhuǎn)換。根據(jù)本發(fā)明,在利用編碼方法b或c來對(duì)圖5陰影部分中所包含的字符進(jìn)行轉(zhuǎn)換的情況下,用替換碼來替換該字符。
圖6將不可由任意一種編碼方法a、b和c來轉(zhuǎn)換的字符集A示為陰影部分。不能對(duì)圖6陰影部分中的字符執(zhí)行從由一種編碼方法編碼的字符到由編碼方法a、b或c編碼的字符的轉(zhuǎn)換。如果不可轉(zhuǎn)換成由編碼方法a編碼的字符由一個(gè)字符代碼來表示,則可以認(rèn)為從一開始所述字符就是由替換碼來表示的。因此,根據(jù)本發(fā)明,在將圖6陰影部分中所包含的字符轉(zhuǎn)換成編碼方法b或c的情況下,用根據(jù)編碼方法b或c的替換碼來替換根據(jù)編碼方法a的替換碼。被替換碼所替換的字符在諸如操作面板的一個(gè)操作屏幕上被顯示為不可識(shí)別的字符“□”。
根據(jù)本發(fā)明的字符串處理裝置,當(dāng)可利用多種編碼方法時(shí),依據(jù)下面所述的用替換碼替換的字符的數(shù)量、用替換碼替換的字符的位置和編碼方法的優(yōu)先級(jí)的至少其中之一,來選擇編碼方法。
以下著重描述作為使用本發(fā)明字符串處理方法的字符串處理裝置的例子的成像裝置中的處理。然而,本發(fā)明可應(yīng)用于任何能將由一種編碼方法編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串的裝置。
在下面實(shí)施例中描述的在單個(gè)殼體中包含諸如打印機(jī)、復(fù)印機(jī)、傳真機(jī)及掃描儀等裝置功能的成像裝置也被稱為多功能裝置。
該多功能裝置包括顯示部件、打印部件和圖像捕獲部件、以及與殼體中的打印機(jī)、復(fù)印機(jī)、傳真機(jī)和掃描儀相對(duì)應(yīng)的四種類型的軟件。該多功能裝置通過轉(zhuǎn)換軟件而以打印機(jī)、復(fù)印機(jī)、傳真機(jī)或掃描儀的方式工作。
圖8示出了根據(jù)本發(fā)明的多功能裝置1的框圖。該多功能裝置1包括軟件組2、多功能裝置激活部件3和硬件資源4。
當(dāng)多功能裝置1通電時(shí),首先啟動(dòng)該激活部件3來激活應(yīng)用層5和平臺(tái)6。例如,激活部件3從硬盤驅(qū)動(dòng)單元(在下文中稱為HDD)中讀出應(yīng)用層5和平臺(tái)6的程序,并將讀出的程序傳送給存儲(chǔ)區(qū)域,以激活所述程序。
硬件資源4包括黑白激光打印機(jī)(B&W LP)11、彩色激光打印機(jī)(彩色LP)12和諸如掃描儀和傳真機(jī)的其它硬件資源13。。
所述軟件組2包括在諸如UNIX的操作系統(tǒng)(在下文中稱為OS)上激活的應(yīng)用層5和平臺(tái)6。該應(yīng)用層5包括多個(gè)用于執(zhí)行僅限于諸如打印、復(fù)印、傳真、通信和掃描等與成像相關(guān)的用戶服務(wù)的操作的程序。
應(yīng)用層5包括打印機(jī)應(yīng)用程序21、復(fù)印應(yīng)用程序22、傳真(FAX)應(yīng)用程序23、掃描儀應(yīng)用程序24、網(wǎng)絡(luò)存檔應(yīng)用程序25、和Web服務(wù)接口(I/F)26。
平臺(tái)6包括控制服務(wù)層9、系統(tǒng)資源管理器(SRM)39和處理器(handler)層10。該控制服務(wù)層9解析從應(yīng)用層5提供的用于處理的請(qǐng)求(處理請(qǐng)求),并生成用于從硬件資源4那里獲取硬件資源的請(qǐng)求(獲取請(qǐng)求)。SRM 39管理一個(gè)或多個(gè)硬件資源4,并在從控制服務(wù)層9提供的獲取請(qǐng)求之間進(jìn)行仲裁。處理器層10依照從SRM 39提供的獲取請(qǐng)求,來管理硬件資源4。
該控制服務(wù)層9包括至少一個(gè)服務(wù)模塊。具體來講,該控制服務(wù)層9包括網(wǎng)絡(luò)控制服務(wù)(NCS)31、傳送控制服務(wù)(DCS)32、操作面板控制服務(wù)(OCS)33、傳真控制服務(wù)(FCS)34、引擎控制服務(wù)(ECS)35、存儲(chǔ)器控制服務(wù)(MCS)36、用戶信息控制服務(wù)(UCS)37和系統(tǒng)控制服務(wù)(SCS)38。
將平臺(tái)6配置成包括應(yīng)用程序接口(API)51,它按預(yù)定義功能從應(yīng)用層5那里接收處理請(qǐng)求。當(dāng)處理時(shí),所述OS并行執(zhí)行應(yīng)用程序5的軟件和平臺(tái)6的軟件。
NCS 31的處理通過所述應(yīng)用程序當(dāng)中的各自協(xié)議分配從所述網(wǎng)絡(luò)方接收的數(shù)據(jù),,并且當(dāng)將來自于應(yīng)用程序的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)方時(shí),在所述數(shù)據(jù)之間進(jìn)行仲裁。
例如,NCS 31的處理控制數(shù)據(jù)與客戶機(jī)進(jìn)行通信,該客戶機(jī)利用HTTPd(超文本傳輸協(xié)議后臺(tái)程序)、通過HTTP(超文本傳輸協(xié)議)而連接于網(wǎng)絡(luò)。
DCS 32的處理控制已存儲(chǔ)文檔的傳送。OCS 33的處理控制操作面板。FCS 34的處理提供API 51,用于使用PSTN或ISDN網(wǎng)絡(luò)通過應(yīng)用層5執(zhí)行傳真發(fā)送與接收,登記和引用備份存儲(chǔ)器中所管理的各種不同的傳真數(shù)據(jù),讀取傳真通信,以及打印接收到的傳真通信。
ECS 35的處理控制B&W LP 11、彩色LP 12和其它硬件資源13的引擎部件。例如,MCS 36的處理使用HDD、并壓縮和解壓縮圖像數(shù)據(jù),來執(zhí)行獲取及釋放存儲(chǔ)器的存儲(chǔ)控制操作。UCS 37的處理管理用戶信息。
SCS 38的處理處理執(zhí)行諸如應(yīng)用程序管理、操作部件控制、系統(tǒng)屏幕顯示、LED顯示、硬件資源管理及中斷應(yīng)用程序協(xié)議之類的處理。
SRM 39的處理與SCS 38相合作,來執(zhí)行硬件資源4的系統(tǒng)控制及管理。例如,SRM 39的處理根據(jù)來自于更高層的請(qǐng)求,來實(shí)現(xiàn)仲裁控制與執(zhí)行控制,從而獲取諸如硬件資源4中的B&W LP 11或彩色LP12之類的硬件資源。
具體而言,SRM 39的處理確定所請(qǐng)求的其中一個(gè)硬件資源4(或所請(qǐng)求的硬件資源4)是否可用,即是否所請(qǐng)求的硬件資源4正在被另一個(gè)獲取請(qǐng)求使用。如果所請(qǐng)求的硬件資源4可用,那么SRM 39就會(huì)通知更高層所請(qǐng)求的硬件資源4是可用的。另外,響應(yīng)于從更高層提供的請(qǐng)求,所述SRM 39的處理執(zhí)行調(diào)度,以供使用硬件資源4,并且直接執(zhí)行請(qǐng)求的內(nèi)容,比如由打印機(jī)引擎進(jìn)行饋紙和成像、存儲(chǔ)器預(yù)定以及文件創(chuàng)建。
處理器層10包括傳真控制單元處理器(FCUH)40和圖像存儲(chǔ)器處理器(IMH)41。該FCUH 40管理下述傳真控制單元(FCU)80(圖9)。該IMH 41將存儲(chǔ)器分配給每個(gè)處理,并且管理已分配給每個(gè)處理的存儲(chǔ)器。
SRM 39、FCUH 40和IMH 41利用引擎I/F 52來向硬件資源4發(fā)送處理請(qǐng)求,所述引擎I/F按預(yù)定義功能將該處理請(qǐng)求發(fā)送到硬件資源4。
圖8的結(jié)構(gòu)允許多功能裝置1執(zhí)行對(duì)于平臺(tái)層6中的應(yīng)用程序來講一般的必要操作。
接下來,給出多功能裝置1的硬件結(jié)構(gòu)說明。圖9是示出根據(jù)本發(fā)明的多功能裝置1的硬件結(jié)構(gòu)的框圖。該多功能裝置1包括控制器60、操作面板70、FCU 80、USB裝置90、IEEE1394裝置100和引擎部件110。
該控制器60包括CPU 61、系統(tǒng)存儲(chǔ)器62、北橋(NB)63、南橋(SB)64、ASIC(應(yīng)用程序?qū)S眉呻娐?66、本地存儲(chǔ)器67、HDD68和網(wǎng)絡(luò)I/F控制器69。
操作面板70連接于控制器60的ASIC 66。FCU 80、USB裝置90、IEEE1394裝置100和引擎部件110均經(jīng)由PCI總線連接于控制器60的ASIC 66。
在控制器60中,本地存儲(chǔ)器67、HDD 68及網(wǎng)絡(luò)I/F控制器69均連接于ASIC 66,而CPU 61經(jīng)由CPU芯片組的NB 63連接于ASIC 66。通過經(jīng)由NB 63連接CPU 61和ASIC 66,就可以支持如下情況,即CPU 61的接口不對(duì)公眾開放。
為了執(zhí)行和控制圖8中形成應(yīng)用層5及平臺(tái)6的一個(gè)或多個(gè)處理,ASIC 66和NB 63不是經(jīng)由低速PCI總線相連的,而是經(jīng)由加速圖形接口(AGP)65相連的,借此來防止性能上降低。
CPU 61控制整個(gè)多功能裝置1。當(dāng)處理時(shí),CPU 61激活操作系統(tǒng)上的NCS 31、DCS 32、OCS 33、FCS 34、ECS 35、MCS 36、UCS 37、SCS 38、SRM 39、FCUH 40和IMH 41,并使得它們被執(zhí)行。CPU 61還激活操作系統(tǒng)上的應(yīng)用層5的打印機(jī)應(yīng)用程序21、復(fù)印應(yīng)用程序22、FAX應(yīng)用程序23和掃描儀應(yīng)用程序24、網(wǎng)絡(luò)存檔應(yīng)用程序25以及Web服務(wù)I/F 26,并使得它們被執(zhí)行。
NB 63是用來連接CPU 61、系統(tǒng)存儲(chǔ)器62、SB 64和ASIC 66的橋。將系統(tǒng)存儲(chǔ)器62用作多功能裝置1的圖像繪制的存儲(chǔ)器。SB 64是用來將ROM、PCI總線和外部裝置(未圖示)與NB 63相連的橋。
將本地存儲(chǔ)器67用作為用于拷貝的圖像緩沖器和代碼緩沖器。ASIC 66是圖像處理的IC,所述圖像處理包括圖像處理的硬件元件。HDD 68是用于存儲(chǔ)圖像數(shù)據(jù)、文檔數(shù)據(jù)、程序、字體數(shù)據(jù)及格式的存儲(chǔ)裝置。操作面板70是接收用戶的操作輸入并向用戶顯示信息的操作部件。
下面給出了在從客戶機(jī)那里接收包含字符串的請(qǐng)求(用于改變或者排序文檔名或作者名的請(qǐng)求)的情況下,所述多功能裝置1的操作說明,所述客戶機(jī)是經(jīng)由網(wǎng)絡(luò)而連接于該多功能裝置1的。
圖10是示出用來舉例說明根據(jù)本發(fā)明第一實(shí)施例的字符串處理方法的多功能裝置1的結(jié)構(gòu)的框圖。圖10省略了對(duì)不必要的結(jié)構(gòu)部件的說明。
現(xiàn)在參照?qǐng)D10,客戶機(jī)200經(jīng)由諸如因特網(wǎng)或LAN之類的網(wǎng)絡(luò)210而連接于多功能裝置1??蛻魴C(jī)200與多功能裝置1以XML(可擴(kuò)展標(biāo)記語(yǔ)言)格式來交換數(shù)據(jù)。例如,該客戶機(jī)200和多功能裝置1將稱之為SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)的通信協(xié)議標(biāo)準(zhǔn)用作數(shù)據(jù)訪問協(xié)議。
在圖10的步驟S1,客戶機(jī)200創(chuàng)建以XML格式撰寫的SOAP消息,如圖11所示??蛻魴C(jī)200在HTTP消息中存儲(chǔ)(嵌入)所述SOAP消息,并將該HTTP發(fā)送到多功能裝置1上。圖11是示出SOAP消息結(jié)構(gòu)的框圖,所述SOAP消息請(qǐng)求改變文檔名(題目)。經(jīng)由NCS 31的HTTPd 220,將從客戶機(jī)200發(fā)送的HTTP消息提供給Web服務(wù)I/F 26。
在接收HTTP消息的基礎(chǔ)上,Web服務(wù)I/F 26通過調(diào)度程序來解析SOAP消息,并且此后請(qǐng)求與改變文檔名的請(qǐng)求相對(duì)應(yīng)的setTitle對(duì)象230執(zhí)行處理。
在接收由除了在其內(nèi)部處理中使用的編碼方法以外的編碼方法編碼的字符串(改變后的文檔名)的基礎(chǔ)上,所述setTitle的對(duì)象230首先被要求將所接收的字符串轉(zhuǎn)換成由在所述內(nèi)部處理中使用的編碼方法編碼的字符串。這里給出了對(duì)如下情況的說明,即將由UTF-8編碼的字符串轉(zhuǎn)換成由Shift-JIS或Latin1編碼的字符串。
在Web服務(wù)I/F 26正在請(qǐng)求執(zhí)行處理時(shí),對(duì)象230確定是否必須要改變字符串的編碼方法。如果對(duì)象230確定是必須的,則對(duì)象230就執(zhí)行圖12中的流程圖所表示的處理。
圖12是編碼方法確定操作的流程圖。圖13是示出根據(jù)UTF-8、Shift-JIS和Latin1中的每一種的字符代碼分配的查詢表。
在圖12的步驟S11中,對(duì)象230從HDD 68中獲取一個(gè)在所述多功能裝置1中可以得到(可用的)編碼方法的表,并且例如將Shift-JIS選作第一種編碼方法??梢噪S機(jī)地或者按表中的優(yōu)先級(jí)次序來安排可用的編碼方法。
接下來,在步驟S12中,對(duì)象230對(duì)字符串『Gte作』進(jìn)行編碼,該字符串的編碼方法將被步驟S11中所選擇的編碼方法Shit-JIS改變。參照?qǐng)D13的查詢表,字符“”不可轉(zhuǎn)換成Shift-JIS。接著,在步驟S13中,對(duì)象230利用步驟S12中的編碼結(jié)果確定確定所述字符串是否可以由在步驟S11中所選擇的Shift-JIS編碼成或高于預(yù)定標(biāo)準(zhǔn)的程度。所述預(yù)定標(biāo)準(zhǔn)可以是完全編碼(即整個(gè)字符串都可以被編碼),或者不能被轉(zhuǎn)換成所選擇編碼方法的字符數(shù)量少于或等于一個(gè)預(yù)定數(shù)量。在這種情況下,所述預(yù)定標(biāo)準(zhǔn)是完全編碼。
在這種情況下,完全編碼不可由Shift-JIS執(zhí)行(也就是,步驟S13中的“NO”)。因此,對(duì)象230前進(jìn)至步驟S14。如果完全編碼可由在步驟S11中所選擇的編碼方法執(zhí)行(也就是,步驟S13中的“YES”),則對(duì)象230確定在步驟S11中所選擇的編碼方法,并結(jié)束該操作。
在步驟S14中,例如,對(duì)象230例如在系統(tǒng)存儲(chǔ)器62中存儲(chǔ)字符的數(shù)量以及將被從步驟S12編碼結(jié)果中獲得的替換碼替換的每個(gè)字符的位置。在這種情況下,對(duì)象230將“1”存為將被替換碼所替換的字符的數(shù)量,而將“從開始起第二個(gè)(在從字符串開始直到結(jié)束的方向上的字符串中的第二個(gè)字符)”存為將被替換碼所替換的字符的位置。
接下來,在步驟S15中,對(duì)象230確定所列編碼方法中的任何一種是否仍未被選擇。在這種情況下,仍選擇Latin1(即,步驟S15中的“YES”)。由此,對(duì)象230前進(jìn)至步驟S16。
在步驟S16中,對(duì)象230選擇編碼方法列表中的Shift-JIS之后的Latin1,并返回至步驟S12。在步驟S12中,對(duì)象230對(duì)字符串『Gte作』進(jìn)行編碼,該字符串的編碼方法將被步驟S16中所選擇的Latin1改變。圖13的查詢表示出了字符“作”不可轉(zhuǎn)換成Latin1。接下來,在步驟S13中,對(duì)象230使用步驟S12中的編碼結(jié)果確定確定所述字符串是否可以完全地由在步驟S16中所選擇的Latin1編碼。
在這種情況下,完全編碼不可由Latin1執(zhí)行(即,步驟S13中的“NO”)。由此,對(duì)象230前進(jìn)至步驟S14。在步驟S14中,例如,對(duì)象230在系統(tǒng)存儲(chǔ)器62中存儲(chǔ)字符的數(shù)量以及每個(gè)將被替換碼所替換的字符的位置,所述替換碼是依據(jù)步驟S12中的編碼結(jié)果來獲得的。在這種情況下,對(duì)象230將“1”存為將被替換碼所替換的字符的數(shù)量,而“從開始起第五個(gè)”存為將被替換碼所替換的字符的位置。
接下來,在步驟S15中,對(duì)象230確定所列編碼方法中的任何一種是否仍未被選擇。在這種情況下,所有列出的編碼方法都已被選擇(即,步驟S15中的“NO”)。由此,對(duì)象230前進(jìn)至步驟S18。
在步驟S18中,對(duì)象230利用將被在步驟S14中存儲(chǔ)的替換碼所替換的字符的數(shù)量及位置、依據(jù)預(yù)定條件來確定最佳編碼方法,并結(jié)束該操作。
例如,在步驟S18中,具有最少數(shù)量的將被替換碼所替換的字符的編碼方法可以被確定為最佳編碼方法。作為選擇,具有連續(xù)出現(xiàn)最少次數(shù)的將被替換碼所替換的字符的編碼方法,可以被確定為最佳編碼方法。其將被替換碼所替換的第一個(gè)字符的出現(xiàn)位置最接近于字符串末尾的編碼方法,也可以被確定為最佳編碼方法。
另外,其將被替換碼所替換的字符的平均出現(xiàn)位置最接近于字符串末尾的編碼方法,也可以被確定為最佳編碼方法。此外,在編碼列表中首先出現(xiàn)的編碼方法,也可以被確定為最佳編碼方法。
此外,可以通過結(jié)合兩個(gè)或多個(gè)上述條件或者使用基于兩個(gè)或多個(gè)上述條件的點(diǎn)入系統(tǒng)來確定最佳編碼方法。例如,在將具有最少數(shù)量的將被替換碼所替換的字符、且其將被替換碼所替換的第一個(gè)字符的出現(xiàn)位置最接近于字符串末尾的編碼方法確定為最佳編碼方法的情況下,將Latin1選作為對(duì)字符串『Gte作』進(jìn)行編碼的編碼方法。也可能將具有最少數(shù)量的將被替換碼所替換的字符的編碼方法確定為最佳編碼方法,并且如果由兩種或多種編碼方法共享最少數(shù)量的將被替換碼所替換的字符,則就確定首先出現(xiàn)在編碼方法列表中的編碼方法。
在利用圖12的流程圖選擇了最佳編碼方法之后,對(duì)象230利用所選的編碼方法對(duì)字符串『Gte作』進(jìn)行編碼。對(duì)象230用替換碼來替換無法編碼的字符。例如,在由Latin1來對(duì)『Gte作』進(jìn)行編碼的情況下,從開始起第五個(gè)字符“作”被替換碼替換。然后,返回來參照?qǐng)D10,對(duì)象230前進(jìn)至步驟S2,在此,對(duì)象230使用編碼后的字符串請(qǐng)求MCS 36改變文檔名。例如,MCS 36在HDD 68中存儲(chǔ)如圖14中所示格式的書目信息數(shù)據(jù)。應(yīng)對(duì)象230改變文檔名的請(qǐng)求,MCS 36更新書目信息數(shù)據(jù)。
接下來,在步驟S3中,MCS 36將文檔名改變應(yīng)答發(fā)送給對(duì)象230。在接收文檔名改變應(yīng)答時(shí),對(duì)象230通知Web服務(wù)I/F 26操作結(jié)束。
在步驟S4中,Web服務(wù)I/F 26以XML格式來撰寫產(chǎn)生文檔名改變應(yīng)答的SOAP消息。該Web服務(wù)I/F 26在HTTP消息中嵌入所述SOAP消息,并將該HTTP消息發(fā)送到客戶機(jī)200。
因此,根據(jù)第一實(shí)施例的字符串處理方法,在將由一種編碼方法編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串時(shí),可選擇適當(dāng)?shù)木幋a方法。
在圖10中,在Web服務(wù)I/F 26中提供setTitle對(duì)象230。作為選擇,可以在MCS 36中提供對(duì)象230。在于MCS 36中提供對(duì)象230的情況下,在由調(diào)度程序?qū)OAP消息進(jìn)行解析之后,Web服務(wù)I/F 26請(qǐng)求MCS 36改變文檔名。接著,MCS 36就請(qǐng)求對(duì)應(yīng)于所述請(qǐng)求的setTitle對(duì)象230來改變文檔名。
在Web服務(wù)I/F 26請(qǐng)求改變文檔名的基礎(chǔ)上,對(duì)象230確定是否必須要改變字符串的編碼方法。如果是必須的,則對(duì)象230就通過圖12中流程圖的處理來選擇最佳編碼方法。對(duì)象230利用所選的編碼方法來編碼字符,并且用替換碼來替換無法編碼的字符。接著,在步驟S2中,對(duì)象230使用編碼的字符串請(qǐng)求MCS 36改變文檔名。其余操作與在Web服務(wù)I/F 26中提供setTitle對(duì)象230的情況下相同。
在Web服務(wù)I/F 26中提供setTitle對(duì)象230的優(yōu)點(diǎn)在于第一實(shí)施例的字符串處理方法可以產(chǎn)生用于支持Web服務(wù)的選項(xiàng),所述字符串處理方法對(duì)于連接于網(wǎng)絡(luò)210的多功能裝置而言不是功能必須的。在另一方面,在MCS 36中提供setTitle對(duì)象230的優(yōu)點(diǎn)在于第一實(shí)施例的字符串處理方法也可由諸如打印機(jī)I/F之類的另一I/F使用。
下面給出本發(fā)明第二實(shí)施例的說明。
在如第一實(shí)施例用替換碼來替換不可轉(zhuǎn)換字符的情況下,存在這樣的問題,即用替換碼所替換的所有字符可被視作與例如在排序已轉(zhuǎn)換字符串時(shí)的相同。另外,如果只有當(dāng)編碼方法相同時(shí)才將字符視為是相同的,則就存在這樣的問題,即可能會(huì)把同一字符視為是不同的字符。
因此,根據(jù)第二實(shí)施例的多功能裝置1通過把將被排序的第一字符串的編碼方法改變成與將被用于對(duì)所述第一字符串進(jìn)行排序的第二字符串相同的編碼方法、且將包含在已轉(zhuǎn)換的第一字符串中的替換碼當(dāng)作通配符解決了上述問題。
圖15是用來舉例說明根據(jù)第二實(shí)施例的字符串排序的圖。例如,現(xiàn)在參照?qǐng)D15,由UTF-8編碼的『Gte作』,被Shift-JIS或Latin1編碼且再被UTF-8編碼成為字符串,該字符串不同于『Gte作』。由此,通過對(duì)用替換碼所表示的無法識(shí)別的字符進(jìn)行處理,精確匹配『Gte作』的字符串可以通過排序來獲得。另外,其開始與“Gte”匹配的字符串可以通過排序來獲得。此外,根據(jù)UTF-8,諸如Window和MAC等不同的0S,具有分配給相同字符的不同字符代碼,例如如圖16所示。圖16示出了其中設(shè)置特殊字符的表的結(jié)構(gòu)。通過在如圖16所示的表中預(yù)先設(shè)置這種特殊字符,利用本發(fā)明的字符串處理方法而分配了不同字符代碼的字符,可以視為是相同的。圖16的表是數(shù)據(jù)保存格式,例如可以是XML格式。
通過使用圖16的表,本發(fā)明的字符串處理方法即便對(duì)包含特殊字符的字符串也能夠執(zhí)行精確排序。根據(jù)本發(fā)明的字符串處理方法,通過將所述表中大寫字母與小寫字母之間的關(guān)系以及日語(yǔ)平假名與片假名字符之間的關(guān)系設(shè)置為特殊字母,不同的字符也可以被視為是相同的。
圖17是示出用來舉例說明根據(jù)本發(fā)明第二實(shí)施例的字符串處理方法的多功能裝置1的結(jié)構(gòu)的框圖。圖17省略了對(duì)不必要的結(jié)構(gòu)部件的說明。另外,除了一些部件之外,多功能裝置1的圖17中的結(jié)構(gòu)等同于圖10中的結(jié)構(gòu),而且適當(dāng)?shù)氖÷粤似渲械恼f明。
圖17的多功能裝置1具有與排序Web服務(wù)I/F 26中所提供的文檔名的請(qǐng)求相對(duì)應(yīng)的搜索對(duì)象240,并且包括Web服務(wù)I/F 26所使用的高速緩存250。
圖18是舉例說明排序字符串操作的流程圖。參照?qǐng)D18,當(dāng)通過字符串編碼方法的轉(zhuǎn)換、客戶機(jī)給出伴隨文檔名的改變建立一個(gè)文檔或創(chuàng)建一個(gè)文檔的指令時(shí),或者當(dāng)操作者操縱操作面板70以給出改變文檔名或創(chuàng)建文檔的指令時(shí),多功能裝置1的OCS 33前進(jìn)至步驟S21,在該步驟,OCS 33將改變文檔名或創(chuàng)建文檔的請(qǐng)求發(fā)送給MCS 36。
接下來,在步驟S22中,MCS 36接收改變文檔名或創(chuàng)建文檔的請(qǐng)求,并根據(jù)該請(qǐng)求來更新圖14的書目信息數(shù)據(jù)。然后,MCS 36將文件改變通知發(fā)送到Web服務(wù)I/F 26。
接收文件改變通知的Web服務(wù)I/F 26,請(qǐng)求搜索對(duì)象240執(zhí)行處理。圖19是根據(jù)第二實(shí)施例的編碼操作的流程圖。
在圖19的步驟S31中,包括在已接收文件改變通知中的文檔名被轉(zhuǎn)換成由UTF-8編碼的文檔名,這是由于包括在已接收文件改變通知中的文檔名是由用于內(nèi)部處理中的Shift-JIS或Latin1來編碼的。接下來,在步驟S32中,通過將已接收文件改變通知中所包含的文檔ID用作密鑰信息,對(duì)象240搜索高速緩存250以查找相應(yīng)的文檔名,并將所述相應(yīng)的文檔名與已編碼的文檔名進(jìn)行排序。
接下來,在步驟S33中,對(duì)象240依據(jù)步驟S32中的排序結(jié)果來確定由UTF-8編碼的文檔名與從高速緩250中搜索出來的文檔名是否相同。
如果對(duì)象240確定由UTF-8編碼的文檔名與從高速緩存250中搜索出來的文檔名是相同的(即,步驟S33中的“YES”),則對(duì)象240就結(jié)束圖19的編碼操作。
例如,如果由UTF-8編碼的文檔名是『G□te作』,而從高速緩存250中搜索出來的文檔名是『Gte作』,那么如上所述,通過把替換碼所表示的無法識(shí)別的字符當(dāng)作通配符,就可以將由UTF-8編碼的文檔名與從高速緩存250中搜索出來的文檔名視為是相同的。在從客戶機(jī)200設(shè)置文檔名的情況下,如果在從客戶機(jī)200設(shè)置文檔名時(shí),字符串在被轉(zhuǎn)換成內(nèi)部處理中所使用的編碼方法之前首先被存儲(chǔ)在高速緩存250中,則就會(huì)發(fā)生這種情況。
在另一方面,如果對(duì)象240確定由UTF-8編碼的文檔名與從高速緩沖250中搜索出來的文檔名是不同的(即,步驟S33中的“NO”),那么對(duì)象240就在高速緩存250中將由UTF-8編碼的文檔名存為新文檔名,并結(jié)束該編碼操作。
例如,如果由UTF-8編碼的文檔名是『ゲ-テ作』,而從高速緩存250中搜索出來的文檔名是『Gte作』,那么不能將由UTF-8編碼的文檔名與從高速緩存250中搜索出來的文檔名視為是相同的。因此,對(duì)象240在高速緩存250中將由UTF-8編碼的文檔名『ゲ-テ作』存為新文檔名。在從客戶機(jī)200設(shè)置文檔名的情況下,如果字符串在被轉(zhuǎn)換成內(nèi)部處理中所使用的編碼方法之前被存儲(chǔ)在高速緩存250中,則從高速緩存250中搜索出來的文檔名不會(huì)是『Gte作』,而是『G□te作』。然而,即使把無法識(shí)別的字符當(dāng)作通配符,它與『ゲ-テ作』也是不同的。由此,產(chǎn)生了相同的結(jié)果。
所以,在圖17的多功能裝置1中,當(dāng)存在需要改變的文檔名時(shí),文檔名的編碼方法會(huì)從內(nèi)部處理中所使用的Shift-JIS或Latin1改變成UTF-8。
返回參照?qǐng)D18,在步驟S23中,如圖20所示,客戶機(jī)200創(chuàng)建以XML格式撰寫的SOAP消息。該客戶機(jī)200在HTTP消息中嵌入所述SOAP消息,并將該HTTP消息發(fā)送到多功能裝置1。圖20是示出請(qǐng)求搜索文檔名的SOAP消息的結(jié)構(gòu)框圖。經(jīng)由NCS 31的httpd 220,將從客戶機(jī)200發(fā)送來的HTTP消息提供給Web服務(wù)I/F 26。
在接收HTTP消息的處理中,Web服務(wù)I/F 26利用調(diào)度程序來解析所述SOAP消息,并請(qǐng)求搜索對(duì)象240以便執(zhí)行處理(搜索文檔名)。
在接收由UTF-8編碼的字符串(將被搜索的文檔名)的處理中,對(duì)象240通過將該字符串用作密鑰信息,來搜索高速緩存250以查找相應(yīng)的文檔名,并將搜索出來的文檔名與該字符串進(jìn)行排序。在完成字符串排序之后,對(duì)象240通知Web服務(wù)I/F 26操作結(jié)束。
在步驟S24中,Web服務(wù)I/F 26以XML格式撰寫產(chǎn)生文檔名搜索應(yīng)答的SOAP消息。該Web服務(wù)I/F 26在HTTP消息中嵌入所述SOAP消息,并將該HTTP消息發(fā)送到客戶機(jī)200。
因此,根據(jù)第二實(shí)施例的字符串處理方法,當(dāng)將轉(zhuǎn)換后的字符串與轉(zhuǎn)換前的字符串進(jìn)行排序時(shí),由于編碼方法之間的差異而造成的轉(zhuǎn)換后的字符串差異,就能夠消除掉。另外,使用高速緩存250免除了每當(dāng)排序轉(zhuǎn)換后的字符串時(shí)查詢MCS 36的麻煩。此外,在從客戶機(jī)200設(shè)置文檔名的情況下,通過使用允許在被轉(zhuǎn)換成內(nèi)部處理中所使用的編碼方法之前、在高速緩存250中存儲(chǔ)字符串的方法,在從客戶機(jī)200執(zhí)行文檔名搜索時(shí),對(duì)包含無法識(shí)別的字符的轉(zhuǎn)換前的字符串進(jìn)行排序。由此,搜索準(zhǔn)確度比把無法識(shí)別的字符當(dāng)作通配符的情況下高。
根據(jù)圖17的結(jié)構(gòu),在Web服務(wù)I/F 26中提供搜索對(duì)象240。作為選擇,也可以在MCS 36中提供該對(duì)象240。圖21是用來舉例說明在于MCS 36中提供對(duì)象240的情況下、排序字符串操作的流程圖。
現(xiàn)在參照?qǐng)D21,當(dāng)通過字符串的編碼方法的轉(zhuǎn)換、從客戶機(jī)200給出伴隨改變文檔名或創(chuàng)建文檔的設(shè)置文檔名的指令時(shí),或者當(dāng)操作者操縱操作面板70以給出改變文檔名或創(chuàng)建文檔的指令時(shí),多功能裝置1的OCS 33前進(jìn)至步驟S41,在該步驟中,OCS 33將改變文檔名或創(chuàng)建文檔的請(qǐng)求發(fā)送給MCS 36。
在接收改變文檔名或創(chuàng)建文檔的請(qǐng)求時(shí),MCS 36根據(jù)該請(qǐng)求來更新圖14的書目信息數(shù)據(jù)。接著,MCS 36請(qǐng)求搜索對(duì)象240執(zhí)行處理。
如圖19所示,對(duì)象240執(zhí)行編碼操作。如果對(duì)象240確定可將由UTF-8編碼的文檔名與從高速緩50中搜索出來的文檔名視為是相同的,那么對(duì)象240就在高速緩存250中將由UTF-8編碼的文檔名存為新文檔名。
所以,在圖17的多功能裝置1中,當(dāng)存在將被改變的文檔名時(shí),該文檔名的編碼方法會(huì)從內(nèi)部處理中所使用的Shift-JIS或Latin1改變成UTF-8。
在步驟S42中,如圖20所示,客戶機(jī)200創(chuàng)建以XML格式撰寫的SOAP消息??蛻魴C(jī)200在HTTP消息中嵌入所述SOAP消息,并將該HTTP消息發(fā)送到多功能裝置1。經(jīng)由NCS 31的httpd 220,將從客戶機(jī)200發(fā)送來的HTTP消息提供給Web服務(wù)I/F 26。
在接收HTTP消息的處理中,Web服務(wù)I/F 26利用調(diào)度程序來解析所述SOAP消息。接下來,在步驟S43中,Web服務(wù)I/F 26將搜索文檔名的請(qǐng)求發(fā)送給MCS 36。接收該請(qǐng)求的MCS 36,請(qǐng)求搜索對(duì)象240執(zhí)行處理。
在接收由UTF-8編碼的字符串(將被搜索的文檔名)時(shí),對(duì)象240通過把字符串用作密鑰信息,來搜索高速緩存250以查找相應(yīng)的文檔名,并將搜索出來的文檔名與該字符串進(jìn)行排序。在完成字符串排序之后,對(duì)象240通知MCS 36操作結(jié)束。
在步驟S44中,MCS 36將文檔名的搜索結(jié)果發(fā)送到Web服務(wù)I/F26。在步驟S45中,Web服務(wù)I/F 26以XML格式來撰寫產(chǎn)生文檔名搜索應(yīng)答的SOAP消息。該Web服務(wù)I/F 26在HTTP消息中嵌入所述SOAP消息,并將該SOAP消息發(fā)送到客戶機(jī)200。
所以,根據(jù)第二實(shí)施例的字符串處理方法,當(dāng)將轉(zhuǎn)換后的字符串與轉(zhuǎn)換前的字符串進(jìn)行排序時(shí),由于編碼方法的差異而造成的轉(zhuǎn)換后的字符串差異,能夠消除掉。
在Web服務(wù)I/F 26中提供搜索對(duì)象240的優(yōu)點(diǎn)在于第二實(shí)施例的字符串處理方法能夠提供用于支持Web服務(wù)的選項(xiàng),其中所述字符串處理方法對(duì)于連接于網(wǎng)絡(luò)的多功能裝置而言不是必須的功能。在另一方面,在MCS 36中提供搜索對(duì)象240的優(yōu)點(diǎn)在于第二實(shí)施例的字符串處理方法也可以由諸如打印機(jī)I/F之類的另一I/F使用。
上述第一實(shí)施例的多功能裝置1不包括高速緩存250。然而,就像圖17的結(jié)構(gòu)一樣,第一實(shí)施例的多功能裝置1(圖10)也可以包括由Web服務(wù)I/F 26或MCS 36使用的高速緩存250。
通過在第一實(shí)施例的多功能裝置1中并入高速緩存250,就能在該高速緩存250中存儲(chǔ)轉(zhuǎn)換前的字符串。因此,通過在高速緩存250中存儲(chǔ)轉(zhuǎn)換前的字符串,可以將轉(zhuǎn)換前的字符串用于字符串排序,以便提高排序的精確度。
下面給出本發(fā)明第三實(shí)施例的說明。
在上述第一實(shí)施例中,編碼方法的優(yōu)先級(jí)次序是固定的。然而,編碼方法的優(yōu)先級(jí)次序可以依各種條件而變化。因此,在第三實(shí)施例中,給出編碼方法的優(yōu)先級(jí)次序依各種條件而變化的情況下的說明。
圖22是示出用來舉例說明根據(jù)本發(fā)明第三實(shí)施例的多功能裝置1的結(jié)構(gòu)的框圖。圖23是用來舉例說明根據(jù)第三實(shí)施例的字符串處理方法的序列圖。圖22和23忽略了對(duì)不必要的結(jié)構(gòu)部件的說明。另外,除了一些部件之外,圖22中的結(jié)構(gòu)等同于圖10中的結(jié)構(gòu),并且適當(dāng)?shù)厥÷粤似渲械恼f明。
在圖23的步驟S51中,客戶機(jī)200的瀏覽器201產(chǎn)生指定為URL的http請(qǐng)求。在步驟S51中所指定的URL,例如為“http∥111.222.33.44/ja/documentbox/”。該URL是將瀏覽器201的語(yǔ)言顯示為日語(yǔ)情況下的一個(gè)示例。在URL中用“ja”將日語(yǔ)指定為顯示語(yǔ)言。將從瀏覽器201發(fā)送來的http請(qǐng)求提供給httpd 220,該httpd包含在多功能裝置1的NCS 31中。
接下來,在步驟S52中,httpd 220給Web應(yīng)用程序27提供http請(qǐng)求,該http請(qǐng)求是從瀏覽器201提供來的。在接收該http請(qǐng)求時(shí),Web應(yīng)用程序27依據(jù)http請(qǐng)求所指定的URL,來指定瀏覽器201的顯示語(yǔ)言,并根據(jù)該顯示語(yǔ)言來生成屏幕數(shù)據(jù)。
接下來,在步驟S53中,Web應(yīng)用程序27將已生成的屏幕數(shù)據(jù)提供給httpd 220。接著,在步驟S54中,httpd 220將所提供的屏幕數(shù)據(jù)發(fā)送到客戶機(jī)200的瀏覽器201上。
在接收屏幕數(shù)據(jù)時(shí),瀏覽器201前進(jìn)至步驟S55,在該步驟中,瀏覽器201根據(jù)屏幕數(shù)據(jù)來顯示一屏幕。然后,用戶在瀏覽器201上所顯示的屏幕上面輸入字符串。接下來,在步驟S56中,客戶機(jī)200的瀏覽器201產(chǎn)生包含字符串的http請(qǐng)求,該字符串是在步驟S55中、在屏幕上面輸入的。將從瀏覽器201那里發(fā)送來的http請(qǐng)求提供給多功能裝置1的httpd 220。
在步驟S57中,httpd 220給Web應(yīng)用程序27提供已提供的http請(qǐng)求。在接收該http請(qǐng)求時(shí),Web應(yīng)用程序27前進(jìn)至步驟S58,在該步驟中,Web應(yīng)用程序27獲得http請(qǐng)求中所包含的字符串,并請(qǐng)求setTitle對(duì)象230執(zhí)行處理。
如果setTitle對(duì)象230所接收到的字符串是由其它編碼方法來編碼的,而不是由內(nèi)部處理中所使用的編碼方法來編碼的,則需要對(duì)象230將已接收的字符串轉(zhuǎn)換成由內(nèi)部處理中使用的編碼方法所編碼的字符串。因此,對(duì)象230確定是否必須要改變已接收字符串的編碼方法,并且如果是必須的,對(duì)象230就執(zhí)行圖12中流程圖的上述處理。
在圖12的步驟S11的處理上,第三實(shí)施例不同于第一實(shí)施例。對(duì)象230按照如下那樣來確定編碼方法的優(yōu)先級(jí)次序,并根據(jù)所確定的優(yōu)先級(jí)次序來選擇編碼方法。優(yōu)先級(jí)次序的確定按照如下步驟來執(zhí)行。首先,給支持瀏覽器201的顯示語(yǔ)言的編碼方法高優(yōu)先級(jí),給支持操作面板70的顯示語(yǔ)言的編碼方法中優(yōu)先級(jí),而給其它編碼方法低優(yōu)先級(jí)。在這種情況下,支持瀏覽器201的顯示語(yǔ)言的編碼方法具有最高優(yōu)先級(jí),支持操作面板70的顯示語(yǔ)言的編碼方法具有次等優(yōu)先級(jí),而其它的編碼方法具有最低優(yōu)先級(jí)。
除了步驟S11之外,所有步驟均與第一實(shí)施例中的相同,并且省略了對(duì)其的說明。在根據(jù)圖12中的流程圖來選擇最佳編碼方法之后,對(duì)象230利用所選編碼方法來對(duì)字符串進(jìn)行編碼。對(duì)象230用替換碼來替換無法編碼的字符。
然后,在步驟S59中,Web應(yīng)用程序27根據(jù)步驟S57的http請(qǐng)求來生成屏幕數(shù)據(jù),并將該屏幕數(shù)據(jù)提供給httpd 220。接下來,在步驟S60中,httpd 220將所提供的屏幕數(shù)據(jù)發(fā)送到客戶機(jī)200的瀏覽器201上。
所以,根據(jù)第三實(shí)施例的字符串處理方法,在將由一種編碼方法編碼的字符串轉(zhuǎn)換成由另一種編碼方法編碼的字符串時(shí),允許編碼方法的優(yōu)先級(jí)次序依各種條件而變化。因此,就可以選擇適當(dāng)?shù)木幋a方法。
在圖22的結(jié)構(gòu)中,在Web應(yīng)用程序27中提供setTitle對(duì)象230。作為選擇,可以在MCS 36中提供該對(duì)象230。在Web應(yīng)用程序27中提供對(duì)象230的優(yōu)點(diǎn)在于第三實(shí)施例的字符串處理方法能夠產(chǎn)生Web應(yīng)用程序27的選項(xiàng),其中所述字符串處理方法不是功能必須的。在另一方面,在MCS 36中提供對(duì)象230的優(yōu)點(diǎn)在于第三實(shí)施例的字符串處理方法也可以由諸如打印機(jī)應(yīng)用程序21之類的另一應(yīng)用程序使用。
根據(jù)本發(fā)明,當(dāng)將第一種編碼方法編碼的第一字符串轉(zhuǎn)換成第二種編碼方法(由第二種編碼方法編碼的第二字符串)時(shí),可以根據(jù)一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息(替換碼的數(shù)量及每個(gè)替換碼的位置),來確定該第二種編碼方法。另外,根據(jù)本發(fā)明,可以把由第二種編碼方法編碼的第二字符串中包含的替換碼當(dāng)作具有表示任意字符的角色的字符(當(dāng)作通配符)。
本發(fā)明并不限于具體公開的實(shí)施例,并且在不背離本發(fā)明范圍的情況下,可以作出變形和修改。
根據(jù)本發(fā)明,將由第一種編碼方法編碼的字符串轉(zhuǎn)換成從多種編碼方法中選出的第二種編碼方法(由第二種編碼方法編碼的另一種字符串)的字符串處理裝置,包括選擇編碼方法的編碼方法確定部件,并在將字符串轉(zhuǎn)換成所選編碼方法時(shí),相對(duì)于每種所選的編碼方法來獲得一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息的至少其中之一,并且根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
編碼方法確定部件可以依據(jù)數(shù)量信將具有最少數(shù)量的替換碼的編碼方法確定為第二種編碼方法。
編碼方法確定部件可以依據(jù)數(shù)量信息將具有連續(xù)出現(xiàn)最少次數(shù)的替換碼的編碼方法確定為第二種編碼方法。
編碼方法確定部件可以依據(jù)位置信息將如下編碼方法確定為第二種編碼方法,所述編碼方法的字首的其中一個(gè)替換碼的出現(xiàn)位置最接近于已轉(zhuǎn)換字符串的末尾。
編碼方法確定部件可以依據(jù)位置信息將如下編碼方法確定為第二種編碼方法,所述編碼方法的替換碼的平均出現(xiàn)位置最接近于已轉(zhuǎn)換字符串的末尾。
編碼方法確定部件可以依據(jù)替換碼數(shù)量、替換碼連續(xù)出現(xiàn)的次數(shù)、字首的其中一個(gè)替換碼的出現(xiàn)位置以及基于數(shù)量和位置信息的替換碼的平均出現(xiàn)位置的組合來確定第二種編碼方法。
編碼方法確定部件可以將替換碼的數(shù)量、替換碼連續(xù)出現(xiàn)的次數(shù)、字首的其中一個(gè)替換碼的出現(xiàn)位置、以及替換碼的平均出現(xiàn)位置轉(zhuǎn)換成數(shù)值,并根據(jù)該數(shù)值來確定第二種編碼方法。
當(dāng)替換碼的數(shù)量、替換碼連續(xù)出現(xiàn)的次數(shù)、字首的其中一個(gè)替換碼的出現(xiàn)位置、以及替換碼的平均出現(xiàn)位置的任何一個(gè)被兩種或多種編碼方法共享時(shí),該編碼方法確定部件可以根據(jù)數(shù)量信息及位置信息,來將首先出現(xiàn)在編碼方法列表中的兩種或多種編碼方法的其中一種確定為第二種編碼方法。
當(dāng)替換碼的數(shù)量、替換碼連續(xù)出現(xiàn)的次數(shù)、字首的其中一個(gè)替換碼的出現(xiàn)位置、以及替換碼的平均出現(xiàn)位置的任何一個(gè)被兩種或多種編碼方法共享時(shí),該編碼方法確定部件可以依照基于數(shù)量信息及位置信息的編碼方法的優(yōu)先級(jí),來確定第二種編碼方法。
如果當(dāng)將字符串轉(zhuǎn)換成所選編碼方法時(shí),替換碼未出現(xiàn),那么編碼方法確定部件就將所選的編碼方法確定為第二種編碼方法。
本申請(qǐng)是以2003年1月24日申請(qǐng)的2003-016427號(hào)及2004年1月9日申請(qǐng)的2004-004123號(hào)日本在先專利申請(qǐng)為基礎(chǔ)的,將其全部?jī)?nèi)容引用與此以供參考。
權(quán)利要求
1.一種字符串處理裝置,其將由第一種編碼方法編碼的字符串轉(zhuǎn)換成從多種編碼方法中選出的第二種編碼方法,所述字符串處理裝置包括編碼方法確定部件,用于選擇編碼方法,并在利用所選的編碼方法對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),相對(duì)于每種所選的編碼方法獲得數(shù)量信息及位置信息的至少其中之一,并且根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
2.如權(quán)利要求1所述的字符串處理裝置,其中所述編碼方法確定部件根據(jù)次序來選擇編碼方法,并且如果在利用所選編碼方法來對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí)、替換碼的數(shù)量信息及位置信息的至少其中之一不符合預(yù)定標(biāo)準(zhǔn),則選擇下一種編碼方法。
3.如權(quán)利要求1所述的字符串處理裝置,其中所述編碼方法確定部件根據(jù)優(yōu)先級(jí)次序來選擇編碼方法,并且如果在利用所選編碼方法來對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí)、替換碼的數(shù)量信息及位置信息的至少其中之一不符合預(yù)定標(biāo)準(zhǔn),則選擇下一種選擇編碼方法。
4.如權(quán)利要求3所述的字符串處理裝置,其中所述編碼方法的優(yōu)先級(jí)次序依被設(shè)置為操作面板顯示語(yǔ)言的語(yǔ)言而變化。
5.如權(quán)利要求3所述的字符串處理裝置,其中所述編碼方法的優(yōu)先級(jí)次序依被設(shè)置為客戶機(jī)顯示語(yǔ)言的語(yǔ)言而變化,所述客戶機(jī)已經(jīng)給出轉(zhuǎn)換字符串的指令。
6.如權(quán)利要求1所述的字符串處理裝置,其中如果阻止所述編碼方法確定部件根據(jù)替換碼的數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法,則所述編碼方法確定部件就根據(jù)編碼方法的優(yōu)先級(jí)次序來確定第二種編碼方法。
7.如權(quán)利要求1所述的字符串處理裝置,其中如果在利用所選編碼方法來對(duì)字符串進(jìn)行編碼時(shí)、替換碼的數(shù)量信息及位置信息的至少其中之一符合預(yù)定標(biāo)準(zhǔn),所述編碼方法確定部件就將所選的編碼方法確定為第二種編碼方法。
8.如權(quán)利要求1所述的字符串處理裝置,其中每個(gè)替換碼是替換字符串中字符的字符代碼,其中該字符串的字符是不可利用所選編碼方法來轉(zhuǎn)換的。
9.一種字符串處理裝置,其利用由第一種編碼方法編碼的第一字符串,來排序由第二種編碼方法編碼的第二字符串,該字符串處理裝置包括字符串排序部件,用于將第二字符串轉(zhuǎn)換成第一種編碼方法,并且在將已轉(zhuǎn)換的第二字符串與第一字符串進(jìn)行排序時(shí),把已轉(zhuǎn)換的第二字符串中所包含的替換碼當(dāng)作具有表示任意字符的角色的字符。
10.如權(quán)利要求9所述的字符串處理裝置,進(jìn)一步包括存儲(chǔ)部件,用于在由第二種編碼方法進(jìn)行編碼之前存儲(chǔ)第二字符串,其中當(dāng)將第二字符串與第一字符串進(jìn)行排序時(shí),使用在由第二種編碼進(jìn)行編碼之前存儲(chǔ)在所述存儲(chǔ)部件中的第二字符串。
11.如權(quán)利要求9所述的字符串處理裝置,進(jìn)一步包括在其中具有由第一種編碼方法編碼的字符的表,對(duì)被分配了不同字符代碼的字符進(jìn)行設(shè)置。
12.如權(quán)利要求9所述的字符串處理裝置,其中替換碼是替換第二字符串中字符的字符代碼,所述字符串的字符對(duì)于的一種編碼方法而言是不可轉(zhuǎn)換的。
13.一種字符串處理方法,其將由第一種編碼方法編碼的字符串轉(zhuǎn)換成從多種編碼方法中選出的第二種編碼方法,該字符串處理方法包括以下步驟(a)選擇編碼方法;(b)在利用所選的編碼方法來對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),相對(duì)于每種所選的編碼方法來獲得一個(gè)或多個(gè)替換碼的數(shù)量信息及位置信息的至少其中之一;以及(c)根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
14.如權(quán)利要求13所述的字符串處理方法,其中每個(gè)替換碼都是替換字符串中字符的字符代碼,所述字符串對(duì)于所選編碼方法而言是不可轉(zhuǎn)換的。
15.一種字符串處理方法,其利用由第一種編碼方法編碼的第一字符串,排序由第二種編碼方法編碼的第二字符串,所述字符串處理方法包括以下步驟(a)將第二字符串轉(zhuǎn)換成第一種編碼方法;以及(b)將已轉(zhuǎn)換的第二字符串與第一字符串進(jìn)行排序,把已轉(zhuǎn)換的第二字符串中所包含的替換碼當(dāng)作具有表示任意字符的角色的字符。
16.如權(quán)利要求15所述的字符串處理方法,其中替換碼是替換第二字符串中字符的字符代碼,所述第二字符串的字符對(duì)于第一種編碼方法而言是不可轉(zhuǎn)換的。
17.一種成像裝置,其包括將由第一種編碼方法編碼的字符串轉(zhuǎn)換成從多種編碼方法中選出的第二種編碼方法的字符串處理部件,所述成像裝置包括編碼方法確定部件,用于選擇編碼方法,并在利用所選的編碼方法對(duì)字符串進(jìn)行轉(zhuǎn)換時(shí),相對(duì)于每種所選的編碼方法獲得數(shù)量信息及位置信息的至少其中之一,并且根據(jù)數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
18.如權(quán)利要求17所述的成像裝置,其中每個(gè)替換碼都是替換字符串中字符的字符代碼,所述字符串的字符對(duì)于所選的編碼方法而言是不可轉(zhuǎn)換的。
19.一種成像裝置,其包括字符串處理部件,該字符串處理部件利用由第一種編碼方法編碼的第一字符串,排序由第二種編碼方法編碼的第二字符串,該成像裝置包括字符串排序部件,用于將第二字符串轉(zhuǎn)換成第一種編碼方法,并且在將已轉(zhuǎn)換的第二字符串與第一字符串進(jìn)行排序時(shí),把已轉(zhuǎn)換的第二字符串中所包含的替換碼當(dāng)作具有表示任意字符的角色的字符。
20.如權(quán)利要求19所述的成像裝置,其中替換碼是替換第二字符串中字符的字符代碼,所述第二字符串的字符對(duì)于第一種編碼方法而言是不可轉(zhuǎn)換的。
全文摘要
公開了一種將由第一種編碼方法編碼的字符串轉(zhuǎn)換成從多種編碼方法中選出的第二種編碼方法的字符串處理裝置。該字符串處理裝置包括選擇編碼方法的編碼方法確定部件,并在將字符串轉(zhuǎn)換成所選編碼方法時(shí),相對(duì)于每種所選的編碼方法來獲得數(shù)量信息及位置信息的至少其中之一,并且根據(jù)所述數(shù)量信息及位置信息的至少其中之一來確定第二種編碼方法。
文檔編號(hào)G06F17/21GK1520040SQ20041000528
公開日2004年8月11日 申請(qǐng)日期2004年1月24日 優(yōu)先權(quán)日2003年1月24日
發(fā)明者松田透 申請(qǐng)人:株式會(huì)社理光