<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-26  評(píng)論-111  文章-19  trackbacks-0

    關(guān)于Unicode

    Unicode是一個(gè)16位的字符集,它可以移植到所有主要的計(jì)算機(jī)平臺(tái)并且覆蓋幾乎整個(gè)世界。它也是單一地區(qū)的;它不包括代碼頁(yè)或者其它讓軟件很難讀寫(xiě)和測(cè)試的復(fù)雜的東西。現(xiàn)在還沒(méi)有一個(gè)合理的多平臺(tái)的字符集可以和它競(jìng)爭(zhēng)。由于以上原因,Trolltech公司從Qt 2.0開(kāi)始選擇Unicode作為它天然的字符集。

    在互聯(lián)網(wǎng)上關(guān)于Unicode的信息。

    Unicode協(xié)會(huì)提供了大量的文檔,包括

    標(biāo)準(zhǔn)

    標(biāo)準(zhǔn)當(dāng)前的版本是3.0.1。

    Qt中的Unicode

    在Qt中,和大多數(shù)使用Qt的應(yīng)用程序中,幾乎所有的或全部的用戶可見(jiàn)的字符串都被使用Unicode方式存儲(chǔ)。Qt提供了:

    • 對(duì)于文件輸入輸出,和傳統(tǒng)的編碼格式的互譯——請(qǐng)看QTextCodecQTextStream
    • 從輸入法和8位鍵盤(pán)輸入的翻譯。
    • 對(duì)于屏幕上顯示,翻譯到傳統(tǒng)字符集。
    • 一個(gè)字符串類,QString,存儲(chǔ)Unicode字符,它支持包括快速的(高速緩存的)和US-ASCII互譯的C字符串的移植,并且支持所有常用的字符串操作。
    • 在適當(dāng)?shù)臅r(shí)候使用支持Unicode的窗口部件。
    • Unicode支持在Windows 95/98/NT/2000上的檢測(cè),這樣Qt就可以在那些甚至不支持Unicode的Windows平臺(tái)上提供Unicode。

    為了獲得Unicode的益處,我們建議使用QString來(lái)存儲(chǔ)所有用戶可見(jiàn)的字符串并且使用QTextStream來(lái)處理所有文本文件輸入輸出。在你寫(xiě)的任何一個(gè)自定制的窗口部件中使用QKeyEvent::text()來(lái)處理鍵盤(pán)輸入;它對(duì)于西歐或者北美的速度較慢的打字員來(lái)說(shuō)沒(méi)有什么不同的,但是對(duì)于那些速度較快或者使用特殊輸入法的人們來(lái)說(shuō)使用text()是有好處的。

    在Qt中所有可能是用戶可見(jiàn)字符串的函數(shù)參數(shù),QLabel::setText()和很多其它函數(shù),使用const QString &來(lái)作為類型。QString對(duì)于像下面這樣的const char *工作的

            myLabel->setText( "Hello, Dolly!" );
    

    提供了隱式調(diào)用。還有一個(gè)函數(shù)QObject::tr()也提供翻譯支持,像這樣:

            myLabel->setText( tr("Hello, Dolly!") );
    

    tr()(有時(shí)被簡(jiǎn)化)從const char *映射到Unicode字符串,并且使用QTranslator對(duì)象來(lái)進(jìn)行這個(gè)映射。

    程序需要和其它程序進(jìn)行通訊或者使用傳統(tǒng)文件格式進(jìn)行讀寫(xiě)文件,Qt提供了大量的內(nèi)置的QTextCodec類,這些類知道如何在Unicode和傳統(tǒng)編碼之間進(jìn)行翻譯。

    默認(rèn)地,和const char *的互相轉(zhuǎn)換使用基于本地的編碼解碼器。無(wú)論如何,程序都能夠很容易地找到其它地區(qū)的編碼解碼器,并且可以對(duì)于任何一個(gè)打開(kāi)的文件或者網(wǎng)絡(luò)連接使用一個(gè)特殊的編碼解碼器。安裝那些內(nèi)置的編碼解碼器不支持新的編碼解碼器也是很容易的。(寫(xiě)這篇文檔的時(shí)候,越南語(yǔ)/VISCII就是一個(gè)這樣的例子。)

    盡管US-ASCII和ISO-8859-1是非常普通的,這里也提供了可以和它們互相映射的特別快的函數(shù)。舉例來(lái)說(shuō),打開(kāi)一個(gè)應(yīng)用程序的圖標(biāo)也許會(huì)這樣做:

            QFile f( QString::fromLatin1("appicon.png") );
    

    關(guān)于輸出,Qt對(duì)于從Unicode到任何一個(gè)系統(tǒng)和字體提供的編碼的轉(zhuǎn)換作出了最大的努力。基于操作系統(tǒng)、本地和字體的可用性和Qt對(duì)所使用的字符的支持,這種轉(zhuǎn)換也許是好的,也許是壞的。我們將在即將推出的版本中繼續(xù)改進(jìn),以最普通的地區(qū)編碼作為重點(diǎn)。


    Copyright ? 2002 Trolltech Trademarks 譯者:Cavendish
    Qt 3.0.5版
    posted on 2005-10-24 14:21 snoics 閱讀(457) 評(píng)論(0)  編輯  收藏 所屬分類: 它山之石
    主站蜘蛛池模板: 又大又硬又粗又黄的视频免费看| 可以免费观看一级毛片黄a| 一本到卡二卡三卡免费高| 亚洲性一级理论片在线观看| 亚洲欧洲中文日韩久久AV乱码 | www.亚洲精品| 希望影院高清免费观看视频| 182tv免费视频在线观看 | 免费乱理伦在线播放| 欧美大尺寸SUV免费| 中国xxxxx高清免费看视频| 一区二区三区无码视频免费福利| 理论秋霞在线看免费| 久久精品国产亚洲AV天海翼| 亚洲综合色7777情网站777| 久久久亚洲欧洲日产国码aⅴ| 久久夜色精品国产亚洲| 精品国产亚洲一区二区在线观看| 国产免费一区二区三区VR| 日韩高清免费观看| 大学生高清一级毛片免费| 日韩av无码成人无码免费| 在线视频精品免费| 2021在线永久免费视频| 91在线老王精品免费播放| 日本免费大黄在线观看| 午夜免费福利片观看| 午夜精品免费在线观看| 最近高清中文字幕免费| 青草草色A免费观看在线| 久草视频在线免费| 0588影视手机免费看片| 久久受www免费人成_看片中文| 四虎在线免费视频| 成人免费看黄20分钟| 在线播放免费人成视频在线观看| 国内一级一级毛片a免费| 成人免费无码精品国产电影| 免费一级特黄特色大片在线观看| 免费中文字幕在线观看| 亚洲色欲色欲www在线丝|