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

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

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

    隨筆-26  評論-111  文章-19  trackbacks-0

    關于Unicode

    Unicode是一個16位的字符集,它可以移植到所有主要的計算機平臺并且覆蓋幾乎整個世界。它也是單一地區的;它不包括代碼頁或者其它讓軟件很難讀寫和測試的復雜的東西?,F在還沒有一個合理的多平臺的字符集可以和它競爭。由于以上原因,Trolltech公司從Qt 2.0開始選擇Unicode作為它天然的字符集。

    在互聯網上關于Unicode的信息。

    Unicode協會提供了大量的文檔,包括

    標準

    標準當前的版本是3.0.1。

    Qt中的Unicode

    在Qt中,和大多數使用Qt的應用程序中,幾乎所有的或全部的用戶可見的字符串都被使用Unicode方式存儲。Qt提供了:

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

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

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

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

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

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

    tr()(有時被簡化)從const char *映射到Unicode字符串,并且使用QTranslator對象來進行這個映射。

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

    默認地,和const char *的互相轉換使用基于本地的編碼解碼器。無論如何,程序都能夠很容易地找到其它地區的編碼解碼器,并且可以對于任何一個打開的文件或者網絡連接使用一個特殊的編碼解碼器。安裝那些內置的編碼解碼器不支持新的編碼解碼器也是很容易的。(寫這篇文檔的時候,越南語/VISCII就是一個這樣的例子。)

    盡管US-ASCII和ISO-8859-1是非常普通的,這里也提供了可以和它們互相映射的特別快的函數。舉例來說,打開一個應用程序的圖標也許會這樣做:

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

    關于輸出,Qt對于從Unicode到任何一個系統和字體提供的編碼的轉換作出了最大的努力。基于操作系統、本地和字體的可用性和Qt對所使用的字符的支持,這種轉換也許是好的,也許是壞的。我們將在即將推出的版本中繼續改進,以最普通的地區編碼作為重點。


    Copyright ? 2002 Trolltech Trademarks 譯者:Cavendish
    Qt 3.0.5版
    posted on 2005-10-24 14:21 snoics 閱讀(455) 評論(0)  編輯  收藏 所屬分類: 它山之石
    主站蜘蛛池模板: 国产免费爽爽视频在线观看 | 色欲aⅴ亚洲情无码AV| 免费无码VA一区二区三区| 曰韩亚洲av人人夜夜澡人人爽| 国产成人人综合亚洲欧美丁香花| 波多野结衣久久高清免费 | 午夜免费福利小电影| 亚洲av无码不卡一区二区三区| 久久久久久免费一区二区三区| 亚洲国产第一站精品蜜芽| 无码国产精品一区二区免费3p| 久久亚洲国产中v天仙www | a级精品九九九大片免费看| 亚洲精品高清无码视频| 免费视频精品一区二区三区| 激情内射亚洲一区二区三区| 青娱乐免费视频在线观看| 亚洲午夜无码久久久久软件| 小小影视日本动漫观看免费| 特级av毛片免费观看| 亚洲一区二区三区在线观看精品中文| 最好免费观看高清在线| 亚洲视频免费在线播放| 成人免费无毒在线观看网站 | 亚洲一区无码精品色| 国产日韩一区二区三免费高清| 91大神亚洲影视在线| 99久久免费精品国产72精品九九 | 亚洲国产成人私人影院| 57PAO成人国产永久免费视频| 亚洲s码欧洲m码吹潮| 亚洲真人无码永久在线| 亚洲免费观看在线视频| 亚洲高清乱码午夜电影网| 亚洲午夜久久久久久久久久| 亚洲一区在线免费观看| 免费播放美女一级毛片| 久久久无码精品亚洲日韩按摩| 在线观看免费宅男视频| 最近免费字幕中文大全| 亚洲精品国产精品国自产网站 |