hhh

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          關(guān)于java字符輸出到界面時(shí)的問(wèn)題

          都知道java的字符編碼方案是采用unicode的。
            比如 String test = "test 編碼";
            那么"test 編碼"是采用unicode編碼后的二進(jìn)制形式保存。
            
            然而如果要把test輸出到系統(tǒng)邊界以外的地方,那么都可能要涉及到編碼轉(zhuǎn)換問(wèn)題,無(wú)論是文件還是網(wǎng)絡(luò)的另一端。
            不過(guò)沒(méi)關(guān)系,java提供了強(qiáng)大的I/O庫(kù),有Reader 和 Writer兩個(gè)適配器體系,我們可以將test以我們想要的編碼方案輸出。
            
            但是如果將test的東西輸出到界面時(shí)到有些問(wèn)題了,本來(lái)從概念上界面也是系統(tǒng)的邊界,所以u(píng)nix有一切皆文件的抽象,當(dāng)然如果界面是交互 性GUI時(shí)這個(gè)抽象顯然是不夠的,這就不論了。關(guān)鍵是GUI系統(tǒng)并沒(méi)有提供類似javaI/O的這種能力,java也沒(méi)有直接以u(píng)nicode形式輸出給 GUI系統(tǒng),而是好像會(huì)把內(nèi)存中變量字符再通過(guò)系統(tǒng)默認(rèn)語(yǔ)言(字符集)編碼去轉(zhuǎn)換,然后扔給繪圖系統(tǒng)吧!
            
            這樣的話如果 JLable label = new JLabel(test);
            那么這個(gè)label的顯示在簡(jiǎn)體中文版的OS上沒(méi)問(wèn)題,但如果在繁體中文版的OS可能就有問(wèn)題了。
            
            按理說(shuō)swing是獨(dú)立于本地OS的GUI系統(tǒng),但是他還是建立在java2D上,而java2D還是要利用本地的繪圖系統(tǒng),像渲染文字這種繪圖是不是java2D還是利用了本地繪圖系統(tǒng)呢!


          java GUI “?” “口” 這兩個(gè)我都碰到過(guò)。
            
            如果某中編碼方案里沒(méi)有這個(gè)文字,java會(huì)用" ?"這個(gè)代替。
            
            如果某種文字沒(méi)有相應(yīng)的字體,java會(huì)用"口"代替。
            
            java在輸出到系統(tǒng)界面時(shí)會(huì)把內(nèi)存中變量字符再通過(guò)系統(tǒng)默認(rèn)語(yǔ)言(字符集)編碼去轉(zhuǎn)換!
            
            我覺(jué)得如果java自己實(shí)現(xiàn)所有unicode支持的文字的繪圖(基于更低級(jí)的圖形API),那么他沒(méi)有必要轉(zhuǎn),因?yàn)閡nicode字符給java圖形系統(tǒng),他都能把它表現(xiàn)出來(lái),當(dāng)然java圖形系統(tǒng)基于OS的更低級(jí)的圖形API。
            
            是不是java自己實(shí)現(xiàn)所有unicode支持的文字的繪圖這項(xiàng)任務(wù)比比較困難。
            
            如果java能做到這樣真的很強(qiáng)大??!
            
            這樣的話JLable label = new JLabel(test); 無(wú)論在什么語(yǔ)言版的OS 都OK。

          posted on 2006-10-17 17:46 hhh 閱讀(1048) 評(píng)論(1)  編輯  收藏

          評(píng)論

          # re: 關(guān)于java字符輸出到界面時(shí)的問(wèn)題 2006-10-18 14:26 123bingbing

          增開(kāi)7群,號(hào)碼 30440732
          8群 30756649
          9群 30178567
          10群 28694497

          我們的qq群:15096318 學(xué)習(xí)程序的都可以來(lái)  回復(fù)  更多評(píng)論   


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泊头市| 隆安县| 靖西县| 抚顺县| 崇明县| 长宁县| 阿坝县| 巴塘县| 滕州市| 洪泽县| 九江市| 页游| 遵义县| 孙吴县| 巴彦县| 于田县| 南通市| 黑水县| 佛教| 望城县| 都安| 临武县| 桃园县| 电白县| 曲水县| 环江| 木里| 三原县| 中宁县| 南川市| 柞水县| 武安市| 康乐县| 德保县| 菏泽市| 成安县| 蓝山县| 广德县| 朝阳市| 东方市| 涟水县|