• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      大型機(jī)IMS系統(tǒng)與開放平臺(tái)漢字轉(zhuǎn)換問題研究

      2010-04-18 01:22:54陳曉宇
      科技傳播 2010年19期
      關(guān)鍵詞:開放平臺(tái)字符字節(jié)

      陳曉宇

      同濟(jì)大學(xué)軟件學(xué)院,上海 201804

      0 引言

      IBM的大型主機(jī)經(jīng)歷了近50多年的發(fā)展,至今依然運(yùn)行在各大公司的關(guān)鍵性任務(wù)上。但面對(duì)靈活多變的開放平臺(tái),大型機(jī)系統(tǒng)仍然需要吸取其優(yōu)點(diǎn),因此,IBM公司的SOA戰(zhàn)略在此展現(xiàn)出來的就是賦予大型機(jī)連接、管理,借用開放平臺(tái)的能力。

      IMS系統(tǒng)全稱為Information Management System,是主機(jī)系統(tǒng)上出現(xiàn)的第一代數(shù)據(jù)庫(kù)系統(tǒng)和交易管理系統(tǒng),它的數(shù)據(jù)庫(kù)管理系統(tǒng)是一種層次型數(shù)據(jù)庫(kù), 同時(shí)還具有交易管理系統(tǒng)的功能,即Transaction management。

      1 應(yīng)用背景

      為了IMS系統(tǒng)提供SOA增強(qiáng),使的它能更好的與開放平臺(tái)相聯(lián)系,這樣就能更好的重用現(xiàn)存的資產(chǎn)。IBM提供了一整套名為IMS SOA Intergration Suite的產(chǎn)品,它是一組IMS中間件產(chǎn)品和工具的集合,你可以利用它來在互聯(lián)性,數(shù)據(jù)表現(xiàn),應(yīng)用開發(fā)和web訪問方面現(xiàn)代化你原有的IMS應(yīng)用程序。它包括了:

      IMS MFS Web Solutions, IMS TM Resource Adapter,等等許多工具。

      在開發(fā)其中的IMS MFS Web Solution時(shí),我們遇到了瀏覽器與IMS系統(tǒng)在漢字編碼方面的問題,在我們的實(shí)驗(yàn)當(dāng)中找到了合適的解決方法,并記錄成文。

      MFS是IMS TM中的一項(xiàng)功能,主要是為了定義終端顯示與消息格式,使得應(yīng)用程序開發(fā)人員不必處理顯示界面的問題。而MFS Web Solution又是為了使用web訪問替代傳統(tǒng)的終端訪問,具體實(shí)現(xiàn)是開放平臺(tái)的web server通過TM Resource Adapter 與主機(jī)端的IMS Connect相連接。

      主機(jī)系統(tǒng)使用英文編碼EBCDIC本身可以很好的支持英文字符的轉(zhuǎn)換,因?yàn)槎际菃巫止?jié)字,但是當(dāng)我們使用漢字時(shí),情況有所不同。在主機(jī)系統(tǒng)內(nèi),包括漢字在內(nèi)的統(tǒng)稱為DBCS(Double Byte Character Sets),合法的DBCS字符,第一字節(jié)和第二字節(jié)的長(zhǎng)度同為0x41到0xFE。

      我們的主機(jī)是如何處理DBCS/EBCDIC混合情況的呢?它會(huì)在每個(gè)DBCS數(shù)據(jù)前面加上一個(gè)Shift out即0x0E,然后在結(jié)尾加上一個(gè)Shift in即0x0F表示這是一個(gè)DBCS數(shù)據(jù)。但要怎樣才能真正的做到在開放平臺(tái)輸入漢字能夠正確的被主機(jī)IMS系統(tǒng)認(rèn)識(shí)并處理,返回正確的結(jié)果,還需研究下面兩個(gè)問題

      2 問題及解決方案

      2.1 問題一

      如何在我們的MFS Web上能夠正確的輸入漢字,并傳入主機(jī)經(jīng)過處理又正確的顯示出來呢?

      在主機(jī)以外的環(huán)境我們需要統(tǒng)一編碼為UTF-8.

      首先我們htm l頁(yè)面的編碼需要設(shè)成UTF-8,然后將Servlet中在 PrintWriter out = response.getWriter(); 之前添加如下代碼,表示同樣使用UTF-8編碼

      request.setCharacterEncoding("UTF-8");// add

      response.setContentType("text/htm l; charset=utf-8");// add

      這樣,web系統(tǒng)讀入和讀出字符都將編碼為utf-8。

      然后最重要的一點(diǎn)是處理與主機(jī)通信時(shí)的編碼。經(jīng)過查找資料,我們發(fā)現(xiàn),主機(jī)系統(tǒng)內(nèi)的簡(jiǎn)體漢字編碼采用的DBCS字符集為CP935,繁體采用的為CP937,這樣在我們將字符轉(zhuǎn)化成字節(jié)流傳給主機(jī)時(shí)需要處理成主機(jī)認(rèn)可的編碼,在我們這個(gè)系統(tǒng)中,轉(zhuǎn)換發(fā)生在函數(shù)

      write(MFSMessageField messageField, int option, OutputStream ostream)其中的:

      byte[] messageFieldBytes = messageFieldValue.getBytes(codepage);

      這里codepage需要設(shè)置成為CP935

      這樣當(dāng)我們輸入DISPLAY命令和所需查詢的用戶名cxy1時(shí),能夠正確的返回之前相同頁(yè)面添加進(jìn)去的“陳”字。

      2.2 問題二

      當(dāng)我們正確的處理了上面一個(gè)問題,又會(huì)遇到一個(gè)特別的問題,比如我們輸入“豫”這個(gè)字,結(jié)果傳回來顯示確是“藻”。還有同樣的例子,比如“萬(wàn)”顯示成了“臥”。

      經(jīng)過仔細(xì)的研究,發(fā)現(xiàn),萬(wàn)在cp935中編碼為 1110 1010111 10010011 1111 而豫編碼為 1110 1011010 10100100 1111 .

      ,在從utf-8到cp935的轉(zhuǎn)換過程中,編碼一直正確,但是當(dāng)他們從主機(jī)端返回時(shí),編碼卻變成了 1110 1010111 11010011 1111和 1110 1011010 11100100 1111 請(qǐng)注意加重的部分,這表示在同樣的這一位,由0變成了1.這又是什么原因造成的呢。通過對(duì)資料的檢索,發(fā)現(xiàn)在 Chapter 4 DFSUPAA0 in IMS v11 System Utilities 中提到說

      由此可見萬(wàn)字的第二個(gè)字節(jié) 10010011 屬于 x'91' - x'99'. 所以它被當(dāng)作EBCDIC碼轉(zhuǎn)換成了大寫字母變成 11010011.

      這樣我們只要將系統(tǒng)中GRAPHIC=設(shè)為NO即可。

      3 結(jié)論

      本文論述了主機(jī)系統(tǒng)字符集相關(guān)概念,解決了開發(fā)IMS Web模擬程序過程中遇到的兩個(gè)典型問題,由此IMS SOA系統(tǒng)已經(jīng)可以正常的處理和使用漢字,這樣就為我們重用現(xiàn)有的資源,擴(kuò)大IMS系統(tǒng)靈活性提供了便利。

      [1]GrayWicks,EgideVanAerschot.PowerSOASolutionswithIMS.IBMPRESS,2009,3.

      [2]翟凌慧,馬少平.IBM大型機(jī)與小型機(jī)間漢字轉(zhuǎn)換解決方案[J].中文信息學(xué)報(bào),2001,15(6).

      猜你喜歡
      開放平臺(tái)字符字節(jié)
      尋找更強(qiáng)的字符映射管理器
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      基于在線開放平臺(tái)的混合式課堂教學(xué)模式構(gòu)建與實(shí)踐
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計(jì)
      電子制作(2019年19期)2019-11-23 08:41:50
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
      消失的殖民村莊和神秘字符
      基于AliGenie語(yǔ)音開放平臺(tái)的傳統(tǒng)家居智聯(lián)網(wǎng)解決方案
      電子制作(2018年17期)2018-09-28 01:56:46
      簡(jiǎn)談MC7字節(jié)碼
      搭建開放平臺(tái) 收獲真情實(shí)感——談《品德與生活》教學(xué)中開放式教學(xué)的實(shí)施
      商城县| 会泽县| 苗栗县| 衡阳市| 安徽省| 禄丰县| 松原市| 辽源市| 广安市| 博乐市| 涟水县| 齐河县| 隆回县| 蓝山县| 汶川县| 河北省| 嘉义市| 隆安县| 津南区| 淳安县| 禹州市| 辽阳县| 枣强县| 临漳县| 会东县| 柳河县| 庆阳市| 靖安县| 应用必备| 德昌县| 华蓥市| 金堂县| 延寿县| 大田县| 滦平县| 芦山县| 青州市| 巨鹿县| 汉寿县| 石景山区| 信宜市|