国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在計算機(jī)內(nèi)采用無標(biāo)志的漢字機(jī)內(nèi)碼時防止錯譯而便利用戶的方法

      文檔序號:89629閱讀:481來源:國知局
      專利名稱:在計算機(jī)內(nèi)采用無標(biāo)志的漢字機(jī)內(nèi)碼時防止錯譯而便利用戶的方法
      在使用英文計算機(jī)處理漢字的工作中,經(jīng)常遇到原計算機(jī)的軟件或硬件對輸入字符有限制的問題。例如PDP-11機(jī)的屏幕編輯程序,和Solar機(jī)的所有軟件和硬件,都不允許字節(jié)的最高位為1;Cyber機(jī)則連小寫字母都不行。此外,幾乎所有的程序語言對其標(biāo)識符(包括變量名、子程序名、語句標(biāo)志等)的構(gòu)成都有更為嚴(yán)格的規(guī)定。因此,當(dāng)用漢字的國標(biāo)碼(GB2312)來代表漢字進(jìn)入主機(jī)時,往往不能被接受。解決此問題的途徑通常有二一是修改主機(jī)的系統(tǒng)軟件。對于微型機(jī)可以這么做,但對稍大規(guī)模的系統(tǒng)軟件、修改就有困難,甚至不可能。在此情況下,就得采取另一途徑,就是改變機(jī)內(nèi)碼的形式,使其能為主機(jī)所接受。
      這種經(jīng)改變而能為多數(shù)計算機(jī)接受的漢字內(nèi)碼大多只用大寫字母或數(shù)字組成。由于允許使用的字符數(shù)少,組成的漢字機(jī)內(nèi)碼都不免偏長(有達(dá)4個甚至6個字節(jié)者),而且必需使用指定的符號(區(qū)分符)加在漢字字串的開始和結(jié)束,或加在每個漢字代碼的起頭,以免與英文相混。在漢字字串的前后加區(qū)分符(如同括號),對于字串的分解、聯(lián)結(jié),或插入、刪改等操作是不利的。然而,在每一個漢字代碼的前面都加區(qū)分符就更增加了代碼的長度,對系統(tǒng)資源的利用更為不利。此外,所選區(qū)分符如在大寫字母與數(shù)字以外,也可能正恰是主機(jī)不能接受的;如徑用大寫字母或數(shù)字做區(qū)別符,則造成問題更多。
      82年秋,北京大學(xué)毛德行在中文信息研究會于承德召開的漢字系統(tǒng)學(xué)術(shù)會議上提出一個大膽的根本不用區(qū)分符的方法-通過折算使國標(biāo)碼變?yōu)槿齻€英文大寫字母,如與COBOL的保留字有沖突,則順推作些修正;漢字串代碼的字符數(shù)必需是三的整倍數(shù),不得與其他英文或數(shù)字串相連(詳見毛德行“中文信息與COBOL語言的聯(lián)接”,上述會議論文)。這個方法的明顯特點是突破了一向認(rèn)為必需區(qū)分符的框框,但其實際辦法卻有缺點,最主要的是①要為每一種語言都編制一個不同的修正表,同一漢字經(jīng)由不同的語言,產(chǎn)生的機(jī)內(nèi)碼將不相同。②用戶如需輸入英文字串,必需提防哪些英文是有可能被誤譯成漢字的,例如,僅對國標(biāo)CB2312的區(qū)號1及2共188個漢字的范圍,就有g(shù)ib,gig,gigmanity…giving…GMT,gnomon,gnomon-ics…god,…got…GPU(按《新英漢詞典》)共54個字或縮寫可能被誤譯。要求用戶避免使用正常的英文,必然會遭到強(qiáng)烈的反對。
      本人鑒于毛德行方法的優(yōu)點和缺點,進(jìn)一步研究出一個新的方法,就是把三個字母中的第二字母換成數(shù)字,就可避免上述兩個缺點。1983年5月本人送交中國科學(xué)院的科學(xué)基金申請書(課題名為《全兼容硬拷貝漢字終端和廉價漢字電傳的原理試驗》)中述及的G9A碼,是本人提出新方法的最早書面見證。因為當(dāng)時我國沒有專利法可予保護(hù),所以后來陸續(xù)有些單位已使用了相似的方法。例如84年福建計算機(jī)研究所宣布研制成漢字終端和個人計算機(jī),其中所用漢字代碼的第一字節(jié)是G~Z,第二字節(jié)是數(shù)字,第三字節(jié)則是數(shù)字或字母均可。此法與本人的G9A碼相似。(該法已用于批量生產(chǎn),投放市場,故已失去新穎性)期刊《微型電腦》1984年第3期上也刊登了湖南大學(xué)周有文的文章《具有最短長度的漢字西化碼》、所謂“漢字西化碼”,除第一字節(jié)是A~Z外,其余兩字節(jié)和福建計算機(jī)研究所完全相同。
      上述福建與湖南兩種做法,都是在第三字節(jié)上允許使用數(shù)字。這造成漢字與英數(shù)字串混淆的可能性極大。例如在計算機(jī)程序中,象K23,L12這樣的標(biāo)識符是很常用的;微機(jī)芯片Z80極普遍;電路元器件R12,U23,則更多見。如把這樣的英數(shù)字串輸入計算機(jī),按上述兩做法,都將被錯譯成漢字。為了防止被錯譯,用戶必需謹(jǐn)慎提防并避免使用常見形式的英數(shù)字串,這是不受歡迎的。
      本說明書下面所述的方法,可使用戶在輸入通常一般的英數(shù)字串時都不必小心提防或避免什么。
      一般地說,因為在英文中(隨之在各高級語言的保留字中)有大量的冗余度(redundency),故可推斷,要找到一種不與任何保留字發(fā)生沖突的漢字代碼形式是可能的。例如,不用A,E,I、O、U、Y六個母音字母,只用其余20個子音字母來組成漢字代碼(三位共8000個組合),就不可能與任何保留字沖突。(按毛德行的原意,只求與COBOL的保留字不沖突)。但在實際中,除高級語言外,還時常要用到匯編語言(需用到助記符如JMP,HLT等),在用戶輸入的字符串?dāng)?shù)據(jù)中還??赡軍A有英文縮寫(如BCD,TTL等),這就使問題棘手起來。
      經(jīng)調(diào)查后發(fā)現(xiàn),一般匯編語言的助記符(mnemonics)都不帶數(shù)字。因此在漢字代碼中夾用數(shù)字可避免相混。但又因此可能與16進(jìn)制數(shù)相混,所以又需對字母作些限制,即需在某一位上避免使用A~F,共有以下六種代碼形式可供選用GA9、AG9、GG9、G9A、A9G及G99-其中A代表字母A~Z,G代表G~Z,9則代表數(shù)字0~9。這6種形式都能避免與一般計算機(jī)系統(tǒng)里的高級語言保留字、匯編助記符、或16進(jìn)制數(shù)相混,但不能保證與用戶可能輸入的各種英數(shù)字串相混。
      如果用戶輸入的只是英文單字(詞),則因漢字代碼中必有數(shù)字而自然區(qū)分。問題是用戶經(jīng)常要使用帶數(shù)字的英文標(biāo)識符(包括變量名)如STRING2、LOOP3等,這就不宜使用GA9,AG9、或GG9形式的代碼。此外,用戶很可能要輸入各種產(chǎn)品型號(如C-5A銀河式飛機(jī),PC-100C熱印機(jī)),醫(yī)學(xué)代號(如白細(xì)胞血型HLA-B15,大腸桿菌K12株),幾何說明(如直線A1C1、角BOC),線路元件號(如集成電路U23,電阻R12,插口J2),甚至如照象機(jī)光圈大小必需說是F8~F11等等。這些都有可能與所述漢字代碼相混。實際中以各種產(chǎn)品型號較常見。下表為上述幾種代碼正恰被各種型號含納的統(tǒng)計
      由此可見,只有A9G形式的代碼與各種型號發(fā)生混淆的可能最小,所以只應(yīng)該采用A9G碼或其字集。(在本人實際研制的設(shè)備中用的是A9I碼,I=I~Z)。但因仍不能完全避免混淆,所以還需另設(shè)制約。在前述毛德行的辦法中,要求漢字串的代碼長度必需是三的整倍數(shù)。那一制約所起的作用是很弱的,因為有很多英文字串正恰是三的倍數(shù)。這里提出的極為有效的方法是采用如下的約定①漢字與數(shù)字可以任意連接(指在漢字碼與相連數(shù)字之間無需間隔)。因而連成“漢字?jǐn)?shù)字串”的長度不拘;漢字與一般英數(shù)字串也可隨意連結(jié)(除下述例外),因而連成“漢字英數(shù)字串”的長度也不拘。
      ②在任一“漢字英數(shù)字串”中,除連續(xù)為漢字的情況外,凡遇連續(xù)兩個大寫字母,即認(rèn)為從這兩個字母開始,以后均為英數(shù)字,直到遇到非大寫字母并且非數(shù)字為止。
      按此約定,非但上述表中A9G碼尚存混淆已全部排除,而且迄今為止,尚未在任何其他方面發(fā)現(xiàn)有被誤譯可能的實例。(舉例說,曾發(fā)現(xiàn)匯編程序ASM-86中還有FYL2X和FYL2XPI兩個保留字,某一軟件的代號為MZ2Z006E等,都因有上述約定而不致誤譯)。
      實際上,按此約定,反而有可能漏譯漢字。例如字串“MX導(dǎo)彈”,如在MX和導(dǎo)彈之間沒有空格,就會把“導(dǎo)彈”的代碼誤作英數(shù)字串而不譯。再如字串“U3芯片”、如在U3和芯片之間沒有空格,也會導(dǎo)致誤譯。這兩種可能發(fā)生的混淆,是可以由機(jī)器程序來自動檢測、自動防止的凡由輸入英數(shù)字態(tài)轉(zhuǎn)入漢字態(tài)時,機(jī)器即自動檢測此前已輸入的英數(shù)字與后隨的漢字代碼有無發(fā)生混淆可能,如有,即自動插入一個空格,(沒有就不插入)。因此,對于用戶來說,就象任意英數(shù)字串都可以和漢字相連一樣,使用時可以完全放心而方便。
      為了完善,還應(yīng)讓機(jī)器自動執(zhí)行如下的監(jiān)測。因為,盡管所述漢字代碼按照相應(yīng)的約定與英數(shù)字串發(fā)生混淆的可能性已經(jīng)極小,但仍不能說已絕對不可能。這種極小的但總歸存在的可能也可用自動監(jiān)測的方法來徹底排除。就是讓機(jī)器自動對英數(shù)字狀態(tài)的輸入字符進(jìn)行不斷的監(jiān)測,凡遇形如A9G而在此前沒有連續(xù)兩個大寫字母的,就自動在第三字節(jié)前插入一個短橫(hyphen)。例如輸入“3J5M”會自動成為“3J5-M”。這樣就可100%保證絕不會發(fā)生誤譯的事。
      上例3J5M如是產(chǎn)品型號,在插入短橫后,仍只可能被認(rèn)為是型號。然而,如有計算機(jī)操作命令形如A9G,卻是不允許在其中插入短橫的。所幸的是,所有的操作命令在計算機(jī)按命令執(zhí)行之后都自行消失(不進(jìn)入文件),所以也不存在是否會誤譯的問題。所以當(dāng)編輯、調(diào)試程序時,可以按鍵命令不進(jìn)行監(jiān)測。而當(dāng)連續(xù)輸入大量數(shù)據(jù)時,所述監(jiān)測將可完全防止誤譯。
      A9G碼或G9A碼各自可能組合(應(yīng)稱“碼字”codeword)總數(shù)都只有5200個。對于一級字已足夠了,但不足以包括二級字。在A9G和G9A這兩個集之間(即兩者之交)有4000個碼字是相同的。同時用兩個集,而減除重復(fù)部分(用兩者之并),也只6400個碼字,仍不夠。因此,對于二級字及基本集以外的字,應(yīng)該采用四位碼,其形式為A9GX、G9AX、A9IX,其中X為字母或數(shù)字均可。三位碼與四位碼混用是不會發(fā)生分不開的問題的。例如在本人實際研制的設(shè)備中,凡以A~X開始的都是三位碼,而以Y、Z開始的即認(rèn)為四位碼。因為根據(jù)統(tǒng)計,二級字的總使用率還不到0.2%,所以雖用四位,但與一級字一起實際使用的平均碼長仍低于3.002字節(jié)。由于不需要區(qū)分符,這比一切需用區(qū)分符的方法要短許多。
      權(quán)利要求
      當(dāng)采用沒有區(qū)分符的漢字機(jī)內(nèi)碼時,采用本方法可使用戶覺察不到系統(tǒng)對于輸入英數(shù)字串的形式有限制,并可保證不會發(fā)生機(jī)器誤譯的事。本方法有如下特征1、限制機(jī)內(nèi)碼的構(gòu)成,除第一位必需為大寫字母、第二位必需為數(shù)字外,在第三位上仍必需為大寫字母,不得用數(shù)字。碼字總數(shù)不夠時,可加用第四位的字母或數(shù)字。2、使用如下的由機(jī)器執(zhí)行的約定除了連續(xù)為漢字,凡遇連續(xù)兩個大寫字母,即認(rèn)為從這兩個字母開始,以后都是英數(shù)字,直到遇見非大寫字母而且非數(shù)字為止。3、采用如下的自動檢測當(dāng)機(jī)器處于輸入英數(shù)字態(tài)時,它將自動對輸入字符進(jìn)行不斷的檢查,凡遇形如規(guī)定的漢字代碼而在此前沒有連續(xù)兩個大寫字母的,就自動在第三個字符之前插入一個短橫;而當(dāng)機(jī)器每次由輸入英數(shù)字態(tài)轉(zhuǎn)為漢字態(tài)時,它也進(jìn)行一次檢查,如此前字符與后隨的漢字代碼相連后有發(fā)生混淆可能,即自動插入一個空格。請求對上述方法給予保護(hù)。
      專利摘要
      近年來出現(xiàn)了一種完全不需要區(qū)分標(biāo)志(或稱區(qū)分符、引導(dǎo)符)的漢字機(jī)內(nèi)碼。這種機(jī)內(nèi)碼通常由三個大寫字母和數(shù)字組成,其主要優(yōu)點是能適用于任何計算機(jī),并且可用于程序中的標(biāo)識符(包括變量名)。但有一個缺點用戶在輸入英數(shù)字串時將受到明顯的限制,稍一不慎就被機(jī)器誤譯成漢字。本方法旨在克服這一缺點。在采用本法之后,將使用戶覺察不出有什么限制,而且能保證不會發(fā)生誤譯的事。
      文檔編號G06F11/28GK85100956SQ85100956
      公開日1986年7月23日 申請日期1985年4月1日
      發(fā)明者錢文浩 申請人:中國軟件技術(shù)公司導(dǎo)出引文BiBTeX, EndNote, RefMan
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1