?? unicode.html
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-win-commercial-3.0.5/doc/unicode.doc:36 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="Translator" content="Cavendish">
<meta name="Qt zh_CN Documents Website" content="http://www.qiliang.net/qt">
<title>關(guān)于Unicode</title>
<style type="text/css"><!--
h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; font-family: "Times New Roman" }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">主頁</font></a>
| <a href="classes.html">
<font color="#004faf">所有的類</font></a>
| <a href="mainclasses.html">
<font color="#004faf">主要的類</font></a>
| <a href="annotated.html">
<font color="#004faf">注釋的類</font></a>
| <a href="groups.html">
<font color="#004faf">分組的類</font></a>
| <a href="functions.html">
<font color="#004faf">函數(shù)</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table>
<h1 align=center>關(guān)于Unicode</h1>
<p> Unicode是一個16位的字符集,它可以移植到所有主要的計算機平臺并且覆蓋幾乎整個世界。它也是單一地區(qū)的;它不包括代碼頁或者其它讓軟件很難讀寫和測試的復(fù)雜的東西。現(xiàn)在還沒有一個合理的多平臺的字符集可以和它競爭。由于以上原因,Trolltech公司從Qt 2.0開始選擇Unicode作為它天然的字符集。
<p> <h2> 在互聯(lián)網(wǎng)上關(guān)于Unicode的信息。
</h2>
<a name="1"></a><p> <a href="http://www.unicode.org">Unicode協(xié)會</a>提供了大量的文檔,包括
<p> <ul>
<p> <li> <a href="http://www.unicode.org/unicode/standard/principles.html">Unicode的技術(shù)介紹</a>
<li> <a href="http://www.unicode.org/unicode/standard/standard.html">標(biāo)準(zhǔn)的主頁</a>
<p> </ul>
<p> <h2> 標(biāo)準(zhǔn)
</h2>
<a name="2"></a><p> 標(biāo)準(zhǔn)當(dāng)前的版本是3.0.1。
<p> <ul>
<p> <li> <a href="http://www.amazon.com/exec/obidos/ASIN/0201616335/trolltech/t">Unicode標(biāo)準(zhǔn),3.0版。</a>也可以看<a href="http://www.unicode.org/unicode/standard/versions/Unicode3.0.1.html">它的主頁</a>。
<li> <a href="http://www.amazon.com/exec/obidos/ASIN/0201473459/trolltech/t">Unicode標(biāo)準(zhǔn),2.0版。</a> 也可以看在www.unicode.org的
<a href="http://www.unicode.org/unicode/reports/tr8.html">2.1版的改進</a>和<a href="http://www.unicode.org/unicode/standard/versions/enumeratedversions.html#Unicode">2.1.9版和2.1.9的數(shù)據(jù)文件</a>。
<p> </ul>
<p> <h2> Qt中的Unicode
</h2>
<a name="3"></a><p> 在Qt中,和大多數(shù)使用Qt的應(yīng)用程序中,幾乎所有的或全部的用戶可見的字符串都被使用Unicode方式存儲。Qt提供了:
<p> <ul>
<p> <li> 對于文件輸入輸出,和傳統(tǒng)的編碼格式的互譯——請看<a href="qtextcodec.html">QTextCodec</a>和<a href="qtextstream.html">QTextStream</a>。
<li> 從輸入法和8位鍵盤輸入的翻譯。
<li> 對于屏幕上顯示,翻譯到傳統(tǒng)字符集。
<li> 一個字符串類,<a href="qstring.html">QString</a>,存儲Unicode字符,它支持包括快速的(高速緩存的)和US-ASCII互譯的C字符串的移植,并且支持所有常用的字符串操作。
<li> 在適當(dāng)?shù)臅r候使用支持Unicode的窗口部件。
<li> Unicode支持在Windows 95/98/NT/2000上的檢測,這樣Qt就可以在那些甚至不支持Unicode的Windows平臺上提供Unicode。
<p> </ul>
<p> 為了獲得Unicode的益處,我們建議使用<a href="qstring.html">QString</a>來存儲所有用戶可見的字符串并且使用<a href="qtextstream.html">QTextStream</a>來處理所有文本文件輸入輸出。在你寫的任何一個自定制的窗口部件中使用<a href="qkeyevent.html#text">QKeyEvent::text</a>()來處理鍵盤輸入;它對于西歐或者北美的速度較慢的打字員來說沒有什么不同的,但是對于那些速度較快或者使用特殊輸入法的人們來說使用text()是有好處的。
<p> 在Qt中所有可能是用戶可見字符串的函數(shù)參數(shù),<a href="qlabel.html#setText">QLabel::setText</a>()和很多其它函數(shù),使用<tt>const QString &</tt>來作為類型。<a href="qstring.html">QString</a>對于像下面這樣的<tt>const char *</tt>工作的
<p> <pre>
myLabel->setText( "Hello, Dolly!" );
</pre>
<p> 提供了隱式調(diào)用。還有一個函數(shù)<a href="qobject.html#tr">QObject::tr</a>()也提供翻譯支持,像這樣:
<p> <pre>
myLabel->setText( tr("Hello, Dolly!") );
</pre>
<p> tr()(有時被簡化)從<tt>const char *</tt>映射到Unicode字符串,并且使用<a href="qtranslator.html">QTranslator</a>對象來進行這個映射。
<p> 程序需要和其它程序進行通訊或者使用傳統(tǒng)文件格式進行讀寫文件,Qt提供了大量的內(nèi)置的<a href="qtextcodec.html">QTextCodec</a>類,這些類知道如何在Unicode和傳統(tǒng)編碼之間進行翻譯。
<p> 默認(rèn)地,和<tt>const char *</tt>的互相轉(zhuǎn)換使用基于本地的編碼解碼器。無論如何,程序都能夠很容易地找到其它地區(qū)的編碼解碼器,并且可以對于任何一個打開的文件或者網(wǎng)絡(luò)連接使用一個特殊的編碼解碼器。安裝那些內(nèi)置的編碼解碼器不支持新的編碼解碼器也是很容易的。(寫這篇文檔的時候,越南語/VISCII就是一個這樣的例子。)
<p> 盡管US-ASCII和ISO-8859-1是非常普通的,這里也提供了可以和它們互相映射的特別快的函數(shù)。舉例來說,打開一個應(yīng)用程序的圖標(biāo)也許會這樣做:
<p> <pre>
<a href="qfile.html">QFile</a> f( QString::<a href="qstring.html#fromLatin1">fromLatin1</a>("appicon.png") );
</pre>
<p> 關(guān)于輸出,Qt對于從<a href="http://my.ispchannel.com/~markdavis/unicode/Unicode_transcription_images/U_Combined.gif">Unicode</a>到任何一個系統(tǒng)和字體提供的編碼的轉(zhuǎn)換作出了最大的努力。基于操作系統(tǒng)、本地和字體的可用性和Qt對所使用的字符的支持,這種轉(zhuǎn)換也許是好的,也許是壞的。我們將在即將推出的版本中繼續(xù)改進,以最普通的地區(qū)編碼作為重點。
<p>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright © 2002
<a href="http://www.trolltech.com">Trolltech</a>
<td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a>
<td><a href="zh_CN.html">譯者:Cavendish</a>
<td align=right><div align=right>Qt 3.0.5版</div>
</table></div></address></body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -