欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種編碼轉換方法

文檔序號:7508633閱讀:354來源:國知局
專利名稱:一種編碼轉換方法
技術領域
本發(fā)明涉及一種編碼轉換方法,更確切地說,涉及一種應用于運算能力較低的便攜式電子產(chǎn)品中的編碼轉換方法。
背景技術
由于手機的不斷普及和電子消費技術的日新月異,用戶對手機的要求在不斷提高,手機具備的功能也相應增多,在這種趨勢下,出現(xiàn)了在手機上閱讀電子書這種用途,用戶可以把電腦上的文本文檔傳到手機上進行閱讀。目前個人電腦主要使用的是WINDOWS操作系統(tǒng),一般用戶的文本文檔大都用ANSI編碼格式進行保存,而普通手機上由于沒有開放式操作系統(tǒng),通常只能顯示UNICODE或UTF-8編碼格式的字符,這樣就涉及到編碼轉換問題,通常用戶會事先在電腦上進行編碼轉換工作,然后再將轉換后的文件傳到手機中去,在電腦上字符的ANSI編碼和UNICODE或UTF-8編碼之間的轉換一般通過查表來完成,首先需要在電腦存儲器中建立一張編碼轉換表格,這張表格由各字符對應的ANSI編碼和UNICODE編碼組成,如附圖2所示,圖中提供了現(xiàn)有的ANSI編碼轉換成UNICODE編碼的表格一部分,第一列是ANSI編碼序列,第二列是UNICODE編碼序列,第三列是對應的注解,接著電腦處理器對ANSI編碼序列逐個進行訪問,查找準備送往屏幕顯示的字符對應的ANSI編碼,只有找到該ANSI編碼后才能得到相應的UNICODE編碼,由于這種方法需要對ANSI編碼序列逐個進行訪問,產(chǎn)生的運算量較大,電腦處理器運算性能很高,利用這種方式進行編碼轉換,耗用的時間很短,但電腦處理器不會自動進行轉換工作,只有當人工適當操作后,電腦處理器才開始編碼轉換工作,這樣就顯得比較麻煩,不夠方便,而在手機上采用這種編碼轉換方式,雖然省去了上述人工操作,但是由于手機處理器運算性能跟電腦處理器相比差距較大,轉換速度較慢,會耗費比較長的時間,因此采用一種新的編碼轉換方法,降低手機處理器的工作量,提高編碼轉換效率將會給用戶帶來很大的便利。

發(fā)明內容本發(fā)明的目的在于克服上述缺陷,向用戶提供一種編碼轉換方法,既能省去人工操作,也可以使運算能力較弱的便攜式電子產(chǎn)品勝任編碼轉換工作。
根據(jù)本發(fā)明目的編碼轉換方法,其特征在于系統(tǒng)根據(jù)字符的格式I編碼碼值進行計算,得出該字符對應的格式II編碼在格式II編碼表中的偏移地址,然后根據(jù)該偏移地址在格式II編碼表中找出對應的格式II編碼。
格式II編碼在格式II編碼表中的偏移地址等于格式I編碼在格式I編碼序列中的偏移地址。
格式I編碼為ANSI編碼。
ANSI編碼表空缺處可以補充缺失的ANSI編碼,使得ANSI編碼序列至少在局部保持連續(xù)。
ANSI編碼表中空缺處補充的ANSI編碼對應的格式II編碼設置成空格,并將所述空格添加至格式II編碼表中。
若文件中某字節(jié)的ANSI編碼碼值大于0×80,則系統(tǒng)將該字節(jié)以及該字節(jié)后面的一個字節(jié)結合起來表示一個字符。
格式II編碼為UNICODE編碼。
格式II編碼為UTF-8編碼。
相對于現(xiàn)有技術,本發(fā)明中便攜式電子產(chǎn)品系統(tǒng)根據(jù)字符的ANSI編碼碼值計算出該字符對應的UNICODE編碼在UNICODE編碼表中的偏移地址,從而得到相應的UNICODE編碼,有效地降低了系統(tǒng)的工作量,提高了系統(tǒng)的工作效率,節(jié)省了用戶的寶貴時間,也省去了在電腦上進行編碼轉換之前人工操作帶來的不便。

圖1是根據(jù)本發(fā)明的一個實施例流程圖;圖2是現(xiàn)有技術中ANSI編碼轉換成UNICODE編碼的表格一部分;圖3是根據(jù)本發(fā)明的一個實施例中生成UNICODE編碼表的示意圖。
具體實施方式請參閱圖1所示,圖1是根據(jù)本發(fā)明的一個實施例流程圖,用戶沒有預先在電腦上對文本文檔進行編碼格式轉換,直接將文本文檔以默認的ANSI編碼格式傳到處理能力較低的便攜式電子產(chǎn)品如手機上,用戶選擇一個ANSI編碼格式文檔后,手機開始讀取該文檔內容,處理器按照指令從該文檔中讀出一個字節(jié)后,判斷該字節(jié)的ANSI編碼碼值是否大于0×80,在美國制定的標準ASCII碼中,每個英文字母或字符只需要1個字節(jié)儲存,因此1個字節(jié)最多能表示256個英文字母或字符,且不與漢字圈使用,所以其它語言文字如中文,在標準ASCII碼的基礎上,以兩個字節(jié)來表示一個漢字,建立出漢字輸入規(guī)范,這種建立在標準ASCII碼上的漢字圈延伸編碼方式,稱為ANSI編碼,例如GBK編碼就是這樣一種ANSI編碼,在ANSI編碼字符集中前面編號為0至127的字符與標準ASCII字符集中相同,編號128至255的為擴展字符很少使用,從編號256起,每個字節(jié)和該字節(jié)后面的一個字節(jié)共同組成一個字來表達一個漢字,例如B 1BE這個編碼就占據(jù)兩個字節(jié),用來表示“本”這個漢字。如果該字節(jié)ANSI編碼碼值低于0×80,那么該字節(jié)表示的字符就代表一個標準ASCII碼中的英文字母或其它符號,可直接顯示或者在前面加0×00變成雙字節(jié)后再進行顯示,這一步驟無需進行編碼轉換。如果該字節(jié)ANSI編碼碼值大于0×80,由于編號128至255的擴展字符很少被用到,系統(tǒng)就會認為該字節(jié)和下面的一個字節(jié)結合起來共同表示一個漢字,例如0×A2E1,由于第一個字節(jié)0×A2的碼值大于0×80,系統(tǒng)接著取下一個字節(jié)0×E1,然后系統(tǒng)根據(jù)這兩個字節(jié)的ANSI編碼碼值0×A2E1,計算出這兩個字節(jié)所表示漢字的UNICODE編碼在UNICODE編碼表中的偏移地址,系統(tǒng)根據(jù)該偏移地址就能得到該漢字對應的UNICODE編碼,從而將該漢字顯示出來,接著系統(tǒng)繼續(xù)讀取文檔中下一個字節(jié),開始新一輪的編碼轉換工作。
請參閱圖2所示,圖2中提供了現(xiàn)有的ANSI編碼轉換成UNICODE編碼的表格一部分,仔細觀察可以發(fā)現(xiàn)ANSI編碼序列中A2E2有對應字符,因此有相應的UNICODE編碼,而A2E3、A2E4由于沒有對應字符,因此在AN SI編碼序列中并未出現(xiàn)這兩個編碼,而UNICODE編碼序列中也沒有對應的編碼,直到A2E5才重新具有對應字符,因此ANSI編碼序列并不是一直連續(xù)的,相反會在局部區(qū)域出現(xiàn)空缺和斷裂,本圖只是展示了其中一小部分空缺。
請參閱圖3所示,圖3是根據(jù)本發(fā)明的一個實施例中生成UNICODE編碼表的示意圖,圖中第一列仍然為ANSI編碼序列,第二列是UNICODE編碼序列,但是ANSI編碼序列中補上了0×A2E3、0×A2E4,相應地在UNICODE編碼序列中也補上了0×3000,0×3000表示空格,這里也可以用其它UNICODE編碼表示,并不會對字符的編碼轉換造成影響,根據(jù)需要對ANSI編碼序列其它空缺處也補上缺失的ANSI編碼,再在UNICODE編碼序列中對應處也補上0×3000,最后取中間的UNICODE編碼序列單獨組建一個表,需要顯示字符時,只要知道該字府對應的UNICODE編碼在UNICODE編碼表中的偏移地址,就可以直接訪問該偏移地址得到UNICODE編碼,從而將該字符顯示出來。
在計算偏移地址時,采用如下方案因為對一個字符而言,其ANSI編碼與UNICODE編碼是一一對應的,UNICODE編碼的偏移地址,也就是UNICODE編碼在UNICODE編碼表中所處的位置,與ANSI編碼在ANSI編碼序列中的所處位置是相同的,因此我們可以通過計算ANSI編碼的位置來獲得UNICODE編碼的偏移地址,而ANSI編碼序列中存在空缺,對ANSI編碼的碼值直接簡單計算而不作修正得出的理論位置并不一定跟該編碼實際所處的位置相同,由于進行這種計算對業(yè)界普通技術人員來說,是非常容易實施的,故此處不對具體計算進行描述。正如排隊時編號為11的同學由于前面9號、10號同學的缺席而實際排在第九位一樣,圖1中的0×A2E5,該編碼實際位置要比理論位置提前2位,將0×A2E3、0×A2E4補上后,再在UNICODE編碼序列中補上兩個0×3000,0×A2E5的實際位置向后挪了兩位,才跟理論位置保持一致。所以ANSI編碼序列中空缺的ANSI編碼在UNICODE編碼序列中對應的位置處是否補上0×3000,直接影響到對應ANSI編碼排在該空缺之后的字符的UNICODE編碼偏移地址,而該空缺之前的字符對應UNICODE編碼偏移地址則不受該空缺影響。例如,ANSI編碼序列中,0×A2E2占據(jù)兩個字節(jié)來表示一個漢字,該漢字的ANSI編碼碼值就是0×A2E2,由于0×A2E3、0×A2E4都是在其后面補上的,因此0×A2E2所處位置不會發(fā)生改變,而0×A2E5排在0×A2E3、0×A2E4之后,因此所處位置后移了兩位。本實施例為了計算上的方便,將ANSI編碼序列中所有的空缺處都補上缺失的代碼,并在UNICODE編碼序列中對應的位置處補上0×3000,這樣根據(jù)ANSI編碼碼值不作修正而直接計算出的理論位置就是UNICODE編碼的偏移地址,非常簡單,當然也可以只對ANSI編碼序列中部分空缺進行補碼或者干脆不補碼,這樣就需要對前面提到的理論值進行適當修正,才能保證結果的準確性,同樣也可以用相同的方式在ANSI編碼和UTF-8編碼之間進行轉換。
雖然上面的實施例僅對手機系統(tǒng)將ANSI編碼轉換成UNICODE編碼進行了說明,但本發(fā)明適用范圍并不局限于手機,其它具有處理器和存儲器的電子產(chǎn)品按本發(fā)明進行的編碼轉換仍涵蓋在本發(fā)明保護范圍之內。
權利要求
1.一種編碼轉換方法,其特征在于系統(tǒng)根據(jù)字符的格式I編碼碼值進行計算,得出該字符對應的格式II編碼在格式II編碼表中的偏移地址,然后根據(jù)該偏移地址在格式II編碼表中找出對應的格式II編碼。
2.如權利要求1所述的編碼轉換方法,其特征在于格式II編碼在格式II編碼表中的偏移地址等于格式I編碼在格式I編碼序列中的偏移地址。
3.如權利要求1或2所述的編碼轉換方法,其特征在于格式I編碼為ANSI編碼。
4.如權利要求3所述的編碼轉換方法,其特征在于ANSI編碼序列空缺處可以補充缺失的ANSI編碼,使得ANSI編碼序列至少在局部保持連續(xù)。
5.如權利要求4所述的編碼轉換方法,其特征在于ANSI編碼表中空缺處補充的ANSI編碼對應的格式II編碼設置成空格,并將所述空格添加至格式II編碼表中。
6.如權利要求3所述的編碼轉換方法,其特征在于若文件中某字節(jié)的ANSI編碼碼值大于0x80,則系統(tǒng)將該字節(jié)以及該字節(jié)后面的一個字節(jié)結合起來表示一個字符。
7.如權利要求1所述的編碼轉換方法,其特征在于格式II編碼為UNICODE編碼。
8.如權利要求1所述的編碼轉換方法,其特征在于格式II編碼為UTF-8編碼。
全文摘要
一種編碼轉換方法,適用于運算能力較低的便攜式電子產(chǎn)品如手機上,系統(tǒng)根據(jù)字符的ANSI編碼碼值進行計算,得出該字符對應的UNICODE編碼在UNICODE編碼表中的偏移地址,然后根據(jù)該偏移地址在UNICODE編碼表中找出對應的UNICODE編碼,本發(fā)明有效地降低了手機系統(tǒng)的工作量,節(jié)省了用戶的寶貴時間,也省去了在電腦上進行編碼轉換之前人工操作帶來的不便。
文檔編號H03M7/30GK1862525SQ20051002576
公開日2006年11月15日 申請日期2005年5月11日 優(yōu)先權日2005年5月11日
發(fā)明者莫皓然, 徐征 申請人:上海迪比特實業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长葛市| 项城市| 陆丰市| 北碚区| 清丰县| 抚松县| 晋中市| 许昌市| 柞水县| 石台县| 神农架林区| 沅陵县| 景德镇市| 拜泉县| 诸城市| 鹤峰县| 新源县| 利辛县| 江达县| 徐闻县| 日土县| 抚顺市| 梁平县| 宜城市| 酉阳| 抚州市| 大兴区| 呈贡县| 台中市| 堆龙德庆县| 云阳县| 长白| 深圳市| 瓮安县| 达拉特旗| 阳西县| 应用必备| 聊城市| 乌兰浩特市| 额济纳旗| 宜川县|