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)有提供類(lè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 閱讀(1052) 評(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è)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 兴山县| 酉阳| 金川县| 贵州省| 成武县| 会同县| 宝鸡市| 昌乐县| 中卫市| 西昌市| 迁安市| 蛟河市| 土默特左旗| 夹江县| 博客| 天水市| 浮山县| 石家庄市| 永嘉县| 浦东新区| 合肥市| 万荣县| 平顺县| 汪清县| 新乐市| 城市| 平果县| 绩溪县| 曲水县| 安溪县| 泰安市| 池州市| 灵台县| 肇东市| 田东县| 永靖县| 郧西县| 林芝县| 文山县| 高陵县| 泸水县|