??xml version="1.0" encoding="utf-8" standalone="yes"?>久久99精品久久久久久hb无码,精品久久人妻av中文字幕,色妞色综合久久夜夜http://www.shnenglu.com/lauer3912/category/15570.html没有理由不学?/description>zh-cnWed, 05 Jan 2011 12:42:34 GMTWed, 05 Jan 2011 12:42:34 GMT60关于QString对中文的支持问题http://www.shnenglu.com/lauer3912/articles/137766.htmllauer3912lauer3912Thu, 30 Dec 2010 14:06:00 GMThttp://www.shnenglu.com/lauer3912/articles/137766.htmlhttp://www.shnenglu.com/lauer3912/comments/137766.htmlhttp://www.shnenglu.com/lauer3912/articles/137766.html#Feedback0http://www.shnenglu.com/lauer3912/comments/commentRss/137766.htmlhttp://www.shnenglu.com/lauer3912/services/trackbacks/137766.html阅读全文

lauer3912 2010-12-30 22:06 发表评论
]]>
Qt 全局函数的用方?/title><link>http://www.shnenglu.com/lauer3912/articles/136961.html</link><dc:creator>lauer3912</dc:creator><author>lauer3912</author><pubDate>Sun, 19 Dec 2010 14:06:00 GMT</pubDate><guid>http://www.shnenglu.com/lauer3912/articles/136961.html</guid><wfw:comment>http://www.shnenglu.com/lauer3912/comments/136961.html</wfw:comment><comments>http://www.shnenglu.com/lauer3912/articles/136961.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/lauer3912/comments/commentRss/136961.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/lauer3912/services/trackbacks/136961.html</trackback:ping><description><![CDATA[Qt提供了一些底层的全局函数来优化应用程序。它们大部分被用在指定的Q务当中或者应用到指定q_下。这些函CQtCore和QtGui中输出,但是它们q不包含在一个头文g中,如果在应用程序中使用它们Q就需要在调用之前声明。下面是一个例子:<br>Qifdef Q_WS_X11<br>void qt_x11_wait_for_window_manager(QWidget *widget);<br>#endif<br><br>int main()<br>{<br>Qifdef Q_WS_X11<br>qt_x11_wait_for_window_manager(this);<br>#endif<br>} <img src ="http://www.shnenglu.com/lauer3912/aggbug/136961.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/lauer3912/" target="_blank">lauer3912</a> 2010-12-19 22:06 <a href="http://www.shnenglu.com/lauer3912/articles/136961.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[~译] Qtl典出错信息之undefined reference to `vtable for classnamehttp://www.shnenglu.com/lauer3912/articles/136425.htmllauer3912lauer3912Tue, 14 Dec 2010 15:39:00 GMThttp://www.shnenglu.com/lauer3912/articles/136425.htmlhttp://www.shnenglu.com/lauer3912/comments/136425.htmlhttp://www.shnenglu.com/lauer3912/articles/136425.html#Feedback0http://www.shnenglu.com/lauer3912/comments/commentRss/136425.htmlhttp://www.shnenglu.com/lauer3912/services/trackbacks/136425.html q个出错信息太常见了Q用qQt两个月以上的朋友基本上都能自p决了Q因为太l典了,可以l新手参考?br>
出错信息一般类?undefined reference to `vtable for classname MyWidget`
在执行make命o后出现?br>
出错原因是在定义cȝ时候ؓ了能使用signals和slot,在类定义的后面加了Q_OBJECT引v?因ؓQ_OBJECT是一个宏Q在不同的类中展开是不同的代码Q例如在mywidgeth.h中生成的
public:
template inline void qt_check_for_QOBJECT_macro(const T &_q_argument) const {
int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i;
}
static const QMetaObject staticMetaObject;
virtual const QMetaObject *metaObject() const;
virtual void *qt_metacast(const char *);
static inline QString tr(const char *s, const char *c = 0) { return staticMetaObject.tr(s, c); }
static inline QString trUtf8(const char *s, const char *c = 0) { return staticMetaObject.trUtf8(s, c); }
static inline QString tr(const char *s, const char *c, int n) { return staticMetaObject.tr(s, c, n); }
static inline QString trUtf8(const char *s, const char *c, int n) { return staticMetaObject.trUtf8(s, c, n); }
virtual int qt_metacall(QMetaObject::Call, int, void **); private:
可以看到以上的代码声明了3个从父类l承?个虚函数。本来这三个函数的实现应该是由moc_mywidget.cpp来完成?br>而当前的错误正是因ؓMakefile里没有将moc_mywidget.cpp加入~译引v?br>
Makefile背后的原因是qmakeQ因为Qt的编?span class=t_tag onclick=tagshow(event) href="tag.php?name=%CF%B5%CD%B3">pȝ是通过qmake?pro文g转换成Makefile文g。当qmake扫描.h代码时发现有Q_OBJECTq样字眼的代码时Q会一个用moc生成moc_xxx.cpp代码的依赖关pd到Makefile里。如果扫描时没有扑ֈ Q_OBJECT׃会生成额外的moc_xxx.cppq样的文件?br>
出现最初一q的原因是在执行qmake的时?h代码里ƈ没有O_OBJECTq样的代码。而执行make的时?h里已l有Q_OBJECT了,解决的方法就是重新执行qmakeQ然后执行make.

本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息、原文链接、原文作者的情况下允许{载,转蝲请勿删改原文内容Q?q不得用于商业用途?谢谢合作?br>原文链接:http://www.cuteqt.com/blog/?p=116

lauer3912 2010-12-14 23:39 发表评论
]]>
[~译] QT~译./configure参数的详l解释E新手充电必读Q?/title><link>http://www.shnenglu.com/lauer3912/articles/136423.html</link><dc:creator>lauer3912</dc:creator><author>lauer3912</author><pubDate>Tue, 14 Dec 2010 15:36:00 GMT</pubDate><guid>http://www.shnenglu.com/lauer3912/articles/136423.html</guid><wfw:comment>http://www.shnenglu.com/lauer3912/comments/136423.html</wfw:comment><comments>http://www.shnenglu.com/lauer3912/articles/136423.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/lauer3912/comments/commentRss/136423.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/lauer3912/services/trackbacks/136423.html</trackback:ping><description><![CDATA[<font color=#ff8c00>可以随便的{载,只要按照规矩走带上咱论坛的链接就好?img border=0 alt="" src="http://www.cuteqt.com/bbs/images/smilies/default/smile.gif" smilieid="1"><br><br></font>==================================<br>====<font color=red>全文是按?/configure -help来翻译的</font>========<br>==================================<br><font size=2>Usage:  configure </font><font size=2><font color=blue>[-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>]</font></font><font size=2><br></font><font size=2><font color=blue>        [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>]</font></font><font size=2><br></font><font size=2><font color=blue>        [-translationdir <dir>] [-sysconfdir <dir>] [-<span id="lxrtrtt" class=t_tag onclick=tagshow(event) href="tag.php?name=example">example</span>sdir <dir>]</font></font><font size=2><br></font><font size=2><font color=blue>        [-demosdir <dir>] [-buildkey <key>]</font></font><font size=2><br></font><font size=2><font color=red><strong>        q些是基本参?/strong></font></font><font size=2><br></font><font size=2><font color=navy>        [-release] [-debug][-debug-and-release] [-developer-build]</font></font><font size=2><br></font><font size=2><font color=navy>        [-shared] [-static] [-no-fast] [-fast] [-no-largefile]</font></font><font size=2><br></font><font size=2><font color=navy>        [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility]</font></font><font size=2><br></font><font size=2><font color=navy>        [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>]</font></font><font size=2><br></font><font size=2><font color=navy>        [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support]</font></font><font size=2><br></font><font size=2><font color=navy>        [-platform] [-D <string>] [-I <string>] [-L <string>] [-help]</font></font><font size=2><br></font><font size=2><font color=red><strong>        q些是对QT所支持模块{设|的参数</strong></font></font><font size=2><br>        </font><font size=2><font color=blue>[-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff]</font></font><font size=2><br></font><font size=2><font color=blue>        [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng]</font></font><font size=2><br></font><font size=2><font color=blue>        [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>]</font></font><font size=2><br></font><font size=2><font color=blue>        [-no-make <part>] [-R <string>]  [-l <string>] [-no-rpath]  [-rpath] [-continue]</font></font><font size=2><br></font><font size=2><font color=blue>        [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv]</font></font><font size=2><br></font><font size=2><font color=blue>        [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked]</font></font><font size=2><br></font><font size=2><font color=blue>        [-no-separate-debug-info]</font></font><font size=2><br></font><font size=2><font color=red><strong>        q些是第三方库的支持参数</strong></font></font><font size=2><br></font><font size=2><font color=navy>        [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2]</font></font><font size=2><br></font><font size=2><font color=navy>        [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] <br></font></font><font size=2><font color=navy>        </font></font><font size=2><font color=navy>[-armfpa]</font></font><font size=2><font color=navy>[-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns]<br></font></font><font size=2><font color=navy>        </font></font><font size=2><font color=navy>[-xmlpatterns]</font></font><font size=2><font color=navy>[-no-phonon] [-phonon] [-no-phonon-backend] <br></font></font><font size=2><font color=navy>        </font></font><font size=2><font color=navy>[-phonon-backend]</font></font><font size=2><font color=navy>[-no-openssl] [-openssl] [-openssl-linked]</font></font><font size=2><br></font><font size=2><font color=navy>        [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit]</font></font><font size=2><br></font><font size=2><font color=navy>        [-no-scripttools] [-scripttools]</font></font><font size=2><br><br><strong><font size=4>安装选项Q?br><br></font></strong><font color=blue>以下选项都是可选,通过他们指定安装目录Q不指定则用默认目录。选项前标?的则为系l默认,+则ؓd才有效那U?/font><br><strong>    -prefix <dir> ......... 指定安装目录默认?/usr/local/Trolltech/QtEmbedded-4.X.X</strong><br><strong>    -hostprefix [dir] ..... 指定可扩展的工具库安装\径,默认当前目录</strong><br><strong>  * -prefix-install ........ 指定QT的本地安? ?/strong><br><strong>                                 /usr/local/Trolltech/QtEmbedded-4.X.X, 此选项优先?PREFIX.</strong><br><br><font color=blue>以下选项用来指定分开安装不同部分Q比如希望将可执行的攑֜/usr/bin 库文g攑֜/lib下等{?</font><br><br><strong>    -bindir <dir> ......... 指定可执行文件\?<dir>(默认 PREFIX/bin?</strong><br><strong>    -libdir <dir> .......... 指定库文件\?<dir>(默认 PREFIX/lib)</strong><br><strong>    -docdir <dir> ........ 指定文档路径 <dir>(默认 PREFIX/doc)</strong><br><strong>    -headerdir <dir> .... 指定头文件\?<dir>(默认 PREFIX/include)</strong><br><strong>    -plugindir <dir> ...... 指定插g路径 <dir> (默认 PREFIX/plugins)</strong><br><strong>    -datadir <dir> ........ 指定QT要用到的一些数据文件所在\?<dir> (默认 PREFIX)</strong><br><strong>    -translationdir <dir> . 指定QTE序的翻译文件\?<dir>(默认 PREFIX/translations)</strong><br><strong>    -sysconfdir <dir> ..... 指定QT的设|文件\?<dir>(默认 PREFIX/etc/settings)</strong><br><strong>    -examplesdir <dir> .... 指定实例文gQ?<dir>(默认 PREFIX/examples)</strong><br><strong>    -demosdir <dir> ....... 指定demos的安装\?<dir> (默认 PREFIX/demos)</strong><br><br><font color=blue>可以用这些选项d配自己所惌的插?/font><br><br><strong>    - buildkey <key> ...... 通过指定的key生成QT库和插g?/strong><br><strong><font size=4>配置选项:<br><br></font></strong><font color=blue>默认的选项(*),可选添加选项(+)</font><br><br><br><font color=black>*  -release ........... </font><font size=2><font color=black>此选项在编译过EQT会对E序q行优化Q在发布软g的时候应该用此选项</font></font><font size=2><font color=black>Q是默认选项</font></font><br><font size=2><font color=black>    -debug ............. </font></font><font size=2><font color=black>加上此选项~译E序QT不会做出优化Q往往在开发过E用此选项</font></font><font size=2><br><font color=black>    -debug-and-release . ~译两个版本</font><br><br><font color=black>    -developer-build.... ~译Qt的开发商和连接选项Q包括自动测试出口的QtQ?</font><br><br><font color=black>    -opensource......... 以开源版本发布程?/font><br><font color=black>    -commercial......... 以商业版本发布程?/font><br><br><font color=black>*  -shared ............ 创徏和用共享Qt库?/font><br><font color=black>    -static ............ 创徏和用静态的Qt库?/font><br><br><font color=black>*  -no-fast ........... 使用通常的Makefile来编译,是默认选项</font><br><font color=black>    -fast .............. 快速编译,除了装必要的库Q部分步骤省略或者用快速的Ҏ处理</font><br><font color=black>    -no-largefile ...... 用大文件支持?/font><br><font color=black>+  -largefile ......... 支持讉K大于4GB的文?/font><br><font color=black>*  -no-exceptions ..... 用~译器本w对异常的处?/font><br><font color=black>    -exceptions ........ 启用~译器本w对异常的处?/font><br><font color=black>    -no-accessibility .. </font><br><font color=black>*  -accessibility .....   用/启用无障支?/font><br><font color=black>    -no-stl ............ </font><br><font color=black>*  -stl ...............   用/启用STL支持</font><br><font color=black>    -no-sql-<driver> ... 用SQL</font><br><font color=black>    -qt-sql-<driver> ... Ҏ需求启用SQL插gQ默认全部关闭)</font><br><font color=black>    -plugin-sql-<driver> 用/启用/启用插g 对SQL的支?/font><br><br><font color=black>    -system-sqlite ..... 启用支持sqlite也可?qt-sqlite</font><br><br><font color=black>    -no-qt3support ..... </font><br><font color=black>*  -qt3support ........ 用/启用qt3支持模块</font><br><br><font color=black>    -no-xmlpatterns .... </font><br><font color=black>+  -xmlpatterns ....... 用/启用xmlpatterns模块</font><br><br><font color=black>    -no-phonon ......... </font><br><font color=black>+  -phonon ............ 用/启用Phonon模块Q可以理解ؓ声音控制模块Q?/font><br><br><br><font color=black>    -no-phonon-backend.. </font><br><font color=black>+  -phonon-backend..... 用/启用phonon-backend模块</font><br><font color=black>    -no-svg ............ </font><br><font color=black>+  -svg ............... 用/启用svg模块</font><br><br><font color=black>    -no-webkit ......... </font><br><font color=black>+  -webkit ............ 用/启用webkit模块Q访问网l模块)</font><br><font color=black>    -no-scripttools .... </font><br><font color=black>+  -scripttools ....... 用/启用scripttools模块</font><br><br><font color=black>    -platform target ... x86q_指定模块 (qws/linux-x86-g++).</font><br><br><br><font color=black>    -no-mmx ............ 我不知道q四个是什么,貌似是几个指令系l?</font><br><font color=black>    -no-3dnow .......... </font><br><font color=black>    -no-sse ............ </font><br><font color=black>    -no-sse2 ........... </font><br><br><font color=black>    -qtnamespace <name>  指定所有库代码路径.</font><br><font color=black>    -qtlibinfix <infix>  重命名所?so库文件到指定路径</font><br><br><font color=black>    -D <string> ........ d一个预处理?/font><br><font color=black>    -I <string> ........ d一个明的头文件\?/font><br><font color=black>    -L <string> ........ d一个明的库文件\?/font><br><br><font color=black>    -help, -h .......... 昄帮助信息</font><br><strong><font size=4>W三方库选项:<br></font></strong><font color=blue>Q以下是W三方库Q往往~译q程中需要依赖的都要加上Q也没什么好说的Q缺什么就加什么)</font><br><br><font color=black>     -qt-zlib ........... </font><br><font color=black>+  -system-zlib .......      zlib依赖?详询 <a target=_blank><u><font color=#0066cc>http://www.gzip.org/zlib</font></u></a></font><br><br><font color=black>     -no-gif ............ </font><br><font color=black>*  -qt-gif ............         gif囄支持?/font><br><font color=black>                                See also src/plugins/imageformats/gif/qgifhandler.h</font><br><br><font color=black>     -no-libtiff ........ </font><br><font color=black>     -qt-libtiff ........         tiff支持插g</font><br><font color=black>+  -system-libtiff ....     默认?system调用pȝ的,出错的话可以试?qtQqt的在~译q程不容易出?/font><br><font color=black>                                  详询 <a target=_blank><u><font color=#0066cc>http://www.libtiff.org</font></u></a></font><br><br><font color=black>     -no-libpng ......... </font><br><font color=black>     -qt-libpng .........        png囄支持插g</font><br><font color=black>+  -system-libpng ..... </font><br><font color=black>                                    详询 <a target=_blank><u><font color=#0066cc>http://www.libpng.org/pub/png</font></u></a></font><br><br><font color=black>     -no-libmng ......... </font><br><font color=black>     -qt-libmng .........       mng支持插g</font><br><font color=black>+  -system-libmng ..... </font><br><font color=black>                                    详询 <a target=_blank><u><font color=#0066cc>http://www.libmng.com</font></u></a></font><br><br><font color=black>     -no-libjpeg ........ </font><br><font color=black>     -qt-libjpeg ........         jpeg囄支持插g</font><br><font color=black>+  -system-libjpeg .... </font><br><font color=black>                                     详询 <a target=_blank><u><font color=#0066cc>http://www.ijg.org</font></u></a></font><br><br><font color=black>     -no-openssl ........ </font><br><font color=black>+  -openssl ...........        openssl支持插g</font><br><font color=black>     -openssl-linked .... </font><br><br><font color=black>     -ptmalloc ..........        pȝ内存分配?/font><br><strong><font size=4>其他选项Q?br></font></strong><font color=blue>(扩展选项Q模块的选择{,使编译更加h性化</font>)<br>    <font color=black>-make <part> .......    选择是否~译某些无关紧要的子模块</font><br><font color=black>    -nomake <part> ..... Q例如不想编译系l自导的demos则可使用-nomake demosQ?/font><br><font color=black>    -R <string> ........      d一个动态库</font><br><font color=black>    -l <string> ........       d一个静态库</font><br><font color=black>    -no-rpath .......... </font><br><font color=black>+  -rpath .............        是否生成的库安装在软g的安装目录,默认是在安装目录Q否则自己指定\?/font><br><br><font color=black>    -continue ..........        忽略错误一路前奔的~译Q因Z般情冉|按照模块逐个~译的,</font><br><font color=black>                                  到错误停止。加上此参数是全部编译最后处?/font><br><font color=black>    -verbose, -v .......      昄每个步骤的详l信?/font><br><font color=black>    -silent ............        安静的编译省略信息回?/font><br><br><font color=black>*  -no-optimized-qmake ... </font><br><font color=black>    -optimized-qmake ......  用/开启qmake的优化作?/font><br><br><font color=black>    -no-nis ............ </font><br><font color=black>*  -nis ...............         用/开启NIS的支?/font><br><br><font color=black>    -no-cups ........... </font><br><font color=black>*  -cups ..............       用/开启对CUPS的支?/font><br><font color=black>                                 需?cups/cups.h and libcups.so.2.</font><br><br><font color=black>    -no-iconv .......... </font><br><font color=black>*  -iconv .............      用/开启对iconv的支?</font><br><br><font color=black>    -no-pch ............ </font><br><font color=black>*  -pch ...............      用/开启是否用预处理器头文g</font><br><br><font color=black>    -no-dbus ........... </font><br><font color=black>+  -dbus ..............     用/开启对QTdbus模块的编?/font><br><font color=black>    -dbus-linked ....... </font><br><br><font color=black>    -reduce-relocations ..... 减少因ؓ链接优化而导致的而外的库文g重置</font><br><br><font color=black>    -no-separate-debug-info . 不将调试信息攑֜一个文件内</font><br><font color=black>*  -separate-debug-info .... 调试信息放在一个文件内</font><br><br><strong><font size=4>以下参数仅限于嵌入式QTE~译使用Q?br><br></font></strong>    <font color=black>-xplatform target ...      交叉~译q程指定目标q_</font><br><font color=black>    -no-feature-<feature>   不编?lt;feature>.</font><br><font color=black>    -feature-<feature> ..    ~译<feature>. 可选feature在src/corelib/global/qfeatures.txt文g内可查寻</font><br><br><font color=black>    -embedded <arch> ....   指定嵌入式^台的cd例如Qarm mips x86 generic</font><br><br><font color=black>    -armfpa ............. </font><br><font color=black>    -no-armfpa ..........       用/启用armfpa点格式支持</font><br><br><font color=black>    -little-endian ......         指定字节序为小字节序、低字节?/font><br><font color=black>    -big-endian .........        指定字节序为大字节序、高字节?/font><br><br><font color=black>    -host-little-endian .       指定Lq_字节序为小字节序、低字节?/font><br><font color=black>    -host-big-endian ....     指定Lq_字节序为大字节序、高字节?/font><br><font color=black>                                    注:只需指定目标q_的字节顺序,否则会选用L的字节顺?/font><br><font color=black>                                   arm的编译过E这得?/font><br><br><br><font color=black>    -no-freetype ........ </font><br><font color=black>    -qt-freetype ........      用/启用对freetype 模块的支?/font><br><font color=black>*  -system-freetype .... </font><br><font color=black>                                   详询 <a target=_blank><u><font color=#0066cc>http://www.freetype.org/</font></u></a></font><br><br><font color=black>    -qconfig local ......      在不指定此配|的情况下系l?/font><br><font color=black>                                    src/corelib/global/qconfig-local.h </font><br><br><font color=black>    -depths <list> ......     支持昄讑֤的位深度。有1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'.</font><br><br><font color=black>    -qt-decoration-<style> ....指定~译后的界面风格默认是windows</font><br><br><br><font color=black>    -plugin-decoration-<style> 指定插g风格默认windows</font><br><font color=black>    -no-decoration-<style> ....不知定风格采用默认选项</font><br><br><font color=black>    -no-opengl .......... </font><br><font color=black>    -opengl <api> .......      用/开启对opengl的支?/font><br><font color=black>                                      不指定型号则pȝ会自动检?/font><br><font color=black>                                     注意Q用此选项的前提条件是g支持且可以驱?/font><br><br><font color=black>    -qt-gfx-<driver> ...      指定昄讑֤驱动?/font><br><font color=black>                                   参考选项为:[ linuxfb transformed qvfb vnc multiscreen ]</font><br><font color=black>    -plugin-gfx-<driver> 指定昄插g驱动?/font><br><font color=black>                                    参考选项为:[  ahi directfb hybrid linuxfb powervr qvfb transformed vnc ]</font><br><font color=black>    -no-gfx-<driver> ... 不加载显C?/font><br><font color=black>                                     参考选项? [ linuxfb transformed qvfb vnc multiscreen ]</font><br><br><font color=black>    -qt-kbd-<driver> ... 指定囑Ş界面下的键盘驱动?/font><br><font color=black>                                参考选项? [ tty usb sl5000 yopy vr41xx qvfb ]</font><br><br><font color=black>    -plugin-kbd-<driver> E指定囑Ş界面下键盘插仉动库</font><br><font color=black>                         参考选项? [  linuxis sl5000 usb vr41xx yopy ]</font><br><br><font color=black>    -no-kbd-<driver> ... 不加载指定驱?/font><br><font color=black>                         参考选项? [ tty usb sl5000 yopy vr41xx qvfb ]</font><br><br><font color=black>    -qt-mouse-<driver> ... 指定囑Ş界面下鼠标驱动库</font><br><font color=black>                           参考选项? [ pc bus linuxtp yopy vr41xx tslib(触摸屏选这? qvfb ]</font><br><font color=black>    -plugin-mouse-<driver> 鼠标插g驱动?/font><br><font color=black>                           参考选项? [  bus linuxis linuxtp pc tslib vr41xx yopy ]</font><br><font color=black>    -no-mouse-<driver> ... 指定不加载的鼠标驱动库模?/font><br><font color=black>                           参考选项? [ pc bus linuxtp yopy vr41xx tslib qvfb ]</font><br><br><font color=black>    -iwmmxt ............ ~译使用iwmmxt指o集,方便Ҏ些XScale CPUs的支?/font><br><br><font color=black>    -no-glib ........... </font><br><font color=black>+  -glib .............. 用/启用对glib的支?/font><br><br></font></font> <img src ="http://www.shnenglu.com/lauer3912/aggbug/136423.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/lauer3912/" target="_blank">lauer3912</a> 2010-12-14 23:36 <a href="http://www.shnenglu.com/lauer3912/articles/136423.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Qt 中文昄http://www.shnenglu.com/lauer3912/articles/136247.htmllauer3912lauer3912Sun, 12 Dec 2010 16:13:00 GMThttp://www.shnenglu.com/lauer3912/articles/136247.htmlhttp://www.shnenglu.com/lauer3912/comments/136247.htmlhttp://www.shnenglu.com/lauer3912/articles/136247.html#Feedback0http://www.shnenglu.com/lauer3912/comments/commentRss/136247.htmlhttp://www.shnenglu.com/lauer3912/services/trackbacks/136247.html 

QT默认的编码(unicodeQ是不能昄中文的,可能׃windows的默认编码的问题Qwindows默认使用QGBK/GB2312/GB18030Q,所以需要来更改QTE序的编码来解决中文昄的问题?br>
QT中有专门的一个类来处理编码的问题(QTextCodec)?br>
在QT3中,QApplication可以E序的默认编码,但是在QT4中已l没有了该成?span class=t_tag onclick=tagshow(event) href="tag.php?name=%BA%AF%CA%FD">函数?br>可以以下的这些方法来讄~码?br>



1. 讄QObject的成员函数tr()的编码?br>
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));

其中的codecForName函数是根据参C的编码名Uͼ?span class=t_tag onclick=tagshow(event) href="tag.php?name=%CF%B5%CD%B3">pȝ已经安装的编码方案中需找最佳的匚w~码cdQ该查找是大写不敏感的。如果没有找刎ͼp??br>
具体的{?span class=t_tag onclick=tagshow(event) href="tag.php?name=%B4%FA%C2%EB">代码看下面:
#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QLabel hello(QObject::tr("你好世界"));
hello.setWindowTitle(QObject::tr("Qt中文昄"));
hello.show();
return app.exec();
}

注意Q?br>setCodecForTr一定要在QApplication后面。不然没?span class=t_tag onclick=tagshow(event) href="tag.php?name=%D0%A7%B9%FB">效果。而且q种Ҏ只会转换l过tr函数?span class=t_tag onclick=tagshow(event) href="tag.php?name=%D7%D6%B7%FB">字符Ԍq不转换不经qtr函数的字W串?br>
技巧:
可以用codecForLocale函数来返回现在系l的默认~码Q这hҎ做多~码的程序而不用自己手动来更改具体的编码?br>

2. 使用QString的fromLocal8Bit()函数

q个Ҏ是最快的Q系l直?span class=t_tag onclick=tagshow(event) href="tag.php?name=%D7%D4%B6%AF">自动char *的参数{换成为系l默认的~码Q然后返回一个QString?br>
#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{

   QApplication app(argc,argv);

   QString str;
str = str.fromLocal8Bit("Qt中文昄");
hello.setWindowTitle(str);
hello.show();
return app.exec();
}

3. 用QTextCodec的toUnicodeҎ来显CZ?br>
#include <QApplication>
#include <QTextCodec>
#include <QLabel>


int main(int argc,char *argv[])
{

   QApplication app(argc,argv);
QLabel hello(QObject::tr("你好世界").toLocal8Bit());
QTextCodec *codec = QTextCodec::codecForLocale();
QString a = codec->toUnicode("Qt中文昄");
hello.setWindowTitle(a);
hello.show();
return app.exec();
}



PS:关于中文昄q的问题我U结了好久,在网上查的一些方法似乎都不是太管用,所用我自己又实验了很多ơ,l于解决了这个问题。我其他两种Ҏ我没有试q,我只说第一U方法:

    刚开始的时候我讄QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));或者将"GBK"换成"GB2312","GB18030"都没有成功,依然是ؕ码。不q也q不是一定不行,后来发现有些时候这栯|也是可以的Q我认ؓ可能与源代码的编码方式有兟뀂我后来又找C一U解军_法就是设|成QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));或者设|成QTextCodec::setCodecForTr(QTextCodec::codecForLocale());我在Ubuntu下,q两U设|都可行Q在Windows下,QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));和QTextCodec::setCodecForTr(QTextCodec::codecForLocale());中应该有一U可以,希望我的q些研究能够帮到?/td>


lauer3912 2010-12-13 00:13 发表评论
]]>
QToolTip 的?/title><link>http://www.shnenglu.com/lauer3912/articles/135747.html</link><dc:creator>lauer3912</dc:creator><author>lauer3912</author><pubDate>Tue, 07 Dec 2010 14:50:00 GMT</pubDate><guid>http://www.shnenglu.com/lauer3912/articles/135747.html</guid><wfw:comment>http://www.shnenglu.com/lauer3912/comments/135747.html</wfw:comment><comments>http://www.shnenglu.com/lauer3912/articles/135747.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/lauer3912/comments/commentRss/135747.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/lauer3912/services/trackbacks/135747.html</trackback:ping><description><![CDATA[最单和常规的用?br>QWidget::setToolTip()<br>高用法Q用类型的 QEvent::ToolTip ?QHelpEvent 事gQ注意ignore使用Q?br>bool SortingBox::event(QEvent *event) <br>{ <br>    if (event->type() == QEvent::ToolTip) { <br>        QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event); <br>        if (xxxxxx) { <br>            QToolTip::showText(helpEvent->globalPos(), "xxxxxxxxx"); <br>        } else { <br>            QToolTip::hideText(); <br>            event->ignore(); <br>        } <br>        return true; <br>    }<br> return QWidget::event(event); <br>}<br>立即昄 tooltipQ就像上面用的,直接调用 showText() <img src ="http://www.shnenglu.com/lauer3912/aggbug/135747.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/lauer3912/" target="_blank">lauer3912</a> 2010-12-07 22:50 <a href="http://www.shnenglu.com/lauer3912/articles/135747.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Qt坐标pȝ与图形绘?/title><link>http://www.shnenglu.com/lauer3912/articles/135627.html</link><dc:creator>lauer3912</dc:creator><author>lauer3912</author><pubDate>Mon, 06 Dec 2010 14:41:00 GMT</pubDate><guid>http://www.shnenglu.com/lauer3912/articles/135627.html</guid><wfw:comment>http://www.shnenglu.com/lauer3912/comments/135627.html</wfw:comment><comments>http://www.shnenglu.com/lauer3912/articles/135627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/lauer3912/comments/commentRss/135627.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/lauer3912/services/trackbacks/135627.html</trackback:ping><description><![CDATA[<p class=grey><span id="njbdpvn" class=STYLE2><strong>作者:</strong>I煜Q?a target=_blank><font color=#000000>华清q见嵌入式学?/font></a>讲师?/span></p> <p class=grey>Z能够使用Qt开发图形绘制YӞ首先应该掌握Qt的坐标系l。在Qt中,通过QPaintercL控制它的坐标pȝ。连同QPaintDevicecMQPaintEnginec,QPaintercL成了Qtl图pȝ的基。其中,QPainter用于执行l图的操作;QPaintDevice是对一块二l空间的抽象Q在q块I间上,我们可以使用QPainterq行囑Ş的绘ӞQPaintEngine提供了在不同的设备上q行l图的接口?/p> <p class=grey>QPaintDevicecL能够q行l图的对象的基类QQWidgetQQPixmapQQPictureQQImageQ以及QPrintercȝ承了QPaintEnginecȝl图能力。绘图设备的~省坐标pȝ是以左上角作为原点,x坐标向右递增Qy坐标向下递增。单位对于不同的讑֤是不同的Q在Z像素的设备上Q以一个像素作为缺省单位,而在打印ZQ以1/72英寸作ؓ~省单位?/p> <p class=grey>在编写图形绘制Y件时Q我们需要进行逻辑坐标与物理坐标之间的转换Q这部分功能由QPainter的{换矩阵,视口Q以及窗口来实现。缺省情况下Q逻辑坐标与物理坐标是一致的。QPainter也支持^UM旋{q样的坐标变换?/p> <p class=grey>囑օ的尺寸(宽度与高度)L对应于它的数学模型,q且会忽略它所使用的笔的宽度。下图是通过两个Ҏ实现矩Ş和直U的例子Q用到的代码为:</p> <p class=grey>      QRectQ?Q?Q?Q?Q?                                                  QLineQ?Q?Q?Q?Q?/p> <p class=grey><img style="CURSOR: pointer" onclick=javascript:window.open(this.src); alt=囄点击可在新窗口打开查看 src="http://www.embedu.org/Column/images/Column76-1.jpg" width=234 onload=imgresize(this); height=242>               <img style="CURSOR: pointer" onclick=javascript:window.open(this.src); alt=囄点击可在新窗口打开查看 src="http://www.embedu.org/Column/images/Column76-2.jpg" width=235 onload=imgresize(this); height=242></p> <p class=grey>在绘囄时候,我们使用QPainter::Antialiasing的渲染暗C来控制像素渲染。计机l图会出现走L情况Q如下图所C:在绘制直U的时候,出现了边~不规则的情c?/p> <p class=grey><img style="CURSOR: pointer" onclick=javascript:window.open(this.src); alt=囄点击可在新窗口打开查看 src="http://www.embedu.org/Column/images/Column76-3.jpg" width=235 onload=imgresize(this); height=242>        <img style="CURSOR: pointer" onclick=javascript:window.open(this.src); alt=囄点击可在新窗口打开查看 src="http://www.embedu.org/Column/images/Column76-4.jpg" width=235 onload=imgresize(this); height=242></p> <p class=grey>如果我们讄了QPainter的反走样渲染暗示Q像素将会对U的出现在点的两侧。因此,可以使用以下代码来解决绘制直U出现锯齿的问题Q?/p> <p class=grey>q样l制的直U如下图所C:</p> <p class=grey><img style="CURSOR: pointer" onclick=javascript:window.open(this.src); alt=囄点击可在新窗口打开查看 src="http://www.embedu.org/Column/images/Column76-5.jpg" width=235 onload=imgresize(this); height=242></p> <img src ="http://www.shnenglu.com/lauer3912/aggbug/135627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/lauer3912/" target="_blank">lauer3912</a> 2010-12-06 22:41 <a href="http://www.shnenglu.com/lauer3912/articles/135627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>攉转蝲 字符~码W记QASCIIQUnicode和UTF-8http://www.shnenglu.com/lauer3912/articles/135312.htmllauer3912lauer3912Thu, 02 Dec 2010 15:30:00 GMThttp://www.shnenglu.com/lauer3912/articles/135312.htmlhttp://www.shnenglu.com/lauer3912/comments/135312.htmlhttp://www.shnenglu.com/lauer3912/articles/135312.html#Feedback0http://www.shnenglu.com/lauer3912/comments/commentRss/135312.htmlhttp://www.shnenglu.com/lauer3912/services/trackbacks/135312.html 

字符~码W记QASCIIQUnicode和UTF-8

今天中午Q我H然x清楚Unicode和UTF-8之间的关p,于是开始在|上查资料?/p>

l果Q这个问题比我想象的复杂Q从午饭后一直看到晚?点,才算初步搞清楚?/p>

下面是我的W记Q主要用来整理自q思\。但是,我尽量试囑ֆ得通俗易懂Q希望能对其他朋友有用。毕竟,字符~码是计机技术的基石Q想要熟l用计机Q就必须懂得一点字W编码的知识?/p>

1. ASCII?/strong>

我们知道Q在计算机内部,所有的信息最l都表示Z个二q制的字W串。每一个二q制位(bitQ有0?两种状态,因此八个二进制位可以组合出256U状态,q被UCؓ一个字节(byteQ。也是_一个字节一共可以用来表C?56U不同的状态,每一个状态对应一个符P是256个符P?000000?1111111?/p>

上个世纪60q代Q美国制定了一套字W编码,对英语字W与二进制位之间的关p,做了l一规定。这被称为ASCII码,一直沿用至今?/p>

ASCII码一p定了128个字W的~码Q比如空?#8220;SPACE”?2Q二q制00100000Q,大写的字母A?5Q二q制01000001Q。这128个符P包括32个不能打印出来的控制W号Q,只占用了一个字节的后面7位,最前面?位统一规定??/p>

2、非ASCII~码

p?28个符L码就够了Q但是用来表C其他语aQ?28个符h不够的。比如,在法语中Q字母上Ҏ注音W号Q它无法用ASCII码表C。于是,一些欧z国家就军_Q利用字节中闲置的最高位~入新的W号。比如,法语中的é的编码ؓ130Q二q制10000010Q。这样一来,q些Ƨ洲国家使用的编码体p,可以表示最?56个符受?/p>

但是Q这里又出现了新的问题。不同的国家有不同的字母Q因此,哪怕它们都使用256个符L~码方式Q代表的字母却不一栗比如,130在法语编码中代表?#233;Q在希伯来语~码中却代表了字母Gimel (ג)Q在俄语~码中又会代表另一个符受但是不怎样Q所有这些编码方式中Q??27表示的符h一LQ不一L只是128?55的这一Dc?/p>

至于亚洲国家的文字,使用的符号就更多了,汉字多?0万左叟뀂一个字节只能表C?56U符P肯定是不够的Q就必须使用多个字节表达一个符受比如,体中文常见的~码方式是GB2312Q用两个字节表CZ个汉字,所以理Z最多可以表C?56x256=65536个符受?/p>

中文~码的问题需要专文讨论,q篇W记不涉及。这里只指出Q虽焉是用多个字节表示一个符P但是GBcȝ汉字~码与后文的Unicode和UTF-8是毫无关pȝ?/p>

3.Unicode

正如上一节所_世界上存在着多种~码方式Q同一个二q制数字可以被解释成不同的符受因此,要想打开一个文本文Ӟ必ȝ道它的编码方式,否则用错误的~码方式解读Q就会出Cؕ码。ؓ什么电子邮件常常出Cؕ码?是因ؓ发信人和收信Z用的~码方式不一栗?/p>

可以惌Q如果有一U编码,世界上所有的W号都纳入其中。每一个符号都l予一个独一无二的编码,那么q问题׃消失。这是UnicodeQ就像它的名字都表示的,q是一U所有符L~码?/p>

Unicode当然是一个很大的集合Q现在的规模可以容纳100多万个符受每个符L~码都不一P比如QU+0639表示阿拉伯字母AinQU+0041表示p的大写字母AQU+4E25表示汉字“?#8221;。具体的W号对应表,可以查询unicode.orgQ或者专门的汉字对应?/a>?/p>

4. Unicode的问?/strong>

需要注意的是,Unicode只是一个符号集Q它只规定了W号的二q制代码Q却没有规定q个二进制代码应该如何存储?/p>

比如Q汉?#8220;?#8221;的unicode是十六进制数4E25Q{换成二进制数?5位(100111000100101Q,也就是说q个W号的表C需?个字节。表C其他更大的W号Q可能需?个字节或?个字节,甚至更多?/p>

q里有两个严重的问题,W一个问题是Q如何才能区别unicode和asciiQ计机怎么知道三个字节表示一个符P而不是分别表CZ个符号呢Q第二个问题是,我们已经知道Q英文字母只用一个字节表C就够了Q如果unicodel一规定Q每个符L三个或四个字节表C,那么每个英文字母前都必然有二C个字节是0Q这对于存储来说是极大的费Q文本文件的大小会因此大Z三倍,q是无法接受的?/p>

它们造成的结果是Q?Q出Cunicode的多U存储方式,也就是说有许多种不同的二q制格式Q可以用来表Cunicode?Qunicode在很长一D|间内无法推广Q直C联网的出现?/p>

5.UTF-8

互联|的普及Q强烈要求出CU统一的编码方式。UTF-8是在互联网上用最q的一Uunicode的实现方式。其他实现方式还包括UTF-16和UTF-32Q不q在互联|上基本不用?strong style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; BORDER-RIGHT-STYLE: none; LIST-STYLE-TYPE: none; FONT-STYLE: normal; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-STYLE: none; COLOR: rgb(17,17,17); BORDER-LEFT-STYLE: none; FONT-WEIGHT: 800; TEXT-DECORATION: none; PADDING-TOP: 0px">重复一遍,q里的关pLQUTF-8是Unicode的实现方式之一?/strong>

UTF-8最大的一个特点,是它是一U变长的~码方式。它可以使用1~4个字节表CZ个符PҎ不同的符可变化字节长度?/p>

UTF-8的编码规则很单,只有二条Q?/p>

1Q对于单字节的符P字节的第一位设?Q后?位ؓq个W号的unicode码。因此对于英语字母,UTF-8~码和ASCII码是相同的?/p>

2Q对于n字节的符Pn>1Q,W一个字节的前n位都设ؓ1Q第n+1位设?Q后面字节的前两位一律设?0。剩下的没有提及的二q制位,全部个符Lunicode码?/p>

下表ȝ了编码规则,字母x表示可用~码的位?/p>

UnicodeW号范围 | UTF-8~码方式
(十六q制) | Q二q制Q?br style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; BORDER-RIGHT-STYLE: none; LIST-STYLE-TYPE: none; FONT-STYLE: normal; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-STYLE: none; COLOR: rgb(17,17,17); BORDER-LEFT-STYLE: none; FONT-WEIGHT: normal; TEXT-DECORATION: none; PADDING-TOP: 0px">--------------------+---------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

下面Q还是以汉字“?#8221;ZQ演C如何实现UTF-8~码?/p>

已知“?#8221;的unicode?E25Q?00111000100101Q,Ҏ上表Q可以发?E25处在W三行的范围内(0000 0800-0000 FFFFQ,因此“?#8221;的UTF-8~码需要三个字节,x式是“1110xxxx 10xxxxxx 10xxxxxx”。然后,?#8220;?#8221;的最后一个二q制位开始,依次从后向前填入格式中的xQ多出的位补0。这样就得到了,“?#8221;的UTF-8~码?#8220;11100100 10111000 10100101”Q{换成十六q制是E4B8A5?/p>

6. Unicode与UTF-8之间的{?/strong>

通过上一节的例子Q可以看?#8220;?#8221;的Unicode码是4E25QUTF-8~码是E4B8A5Q两者是不一L。它们之间的转换可以通过E序实现?/p>

在Windowsq_下,有一个最单的转化ҎQ就是用内|的C本小E序Notepad.exe。打开文g后,点击“文g”菜单中的“另存?#8221;命oQ会跛_一个对话框Q在最底部有一?#8220;~码”的下拉条?/p>

bg2007102801.jpg

里面有四个选项QANSIQUnicodeQUnicode big endian ?UTF-8?/p>

1QANSI是默认的~码方式。对于英文文件是ASCII~码Q对于简体中文文件是GB2312~码Q只针对Windows体中文版Q如果是J体中文版会采用Big5码)?/p>

2QUnicode~码指的是UCS-2~码方式Q即直接用两个字节存入字W的Unicode码。这个选项用的little endian格式?/p>

3QUnicode big endian~码与上一个选项相对应。我在下一节会解释little endian和big endian的涵义?/p>

4QUTF-8~码Q也是上一节谈到的~码Ҏ?/p>

选择?#8221;~码方式“后,点击”保存“按钮Q文件的~码方式q刻{换好了?/p>

7. Little endian和Big endian

上一节已l提刎ͼUnicode码可以采用UCS-2格式直接存储。以汉字”?#8220;ZQUnicode码是4E25Q需要用两个字节存储Q一个字节是4EQ另一个字节是25。存储的时候,4E在前Q?5在后Q就是Big endian方式Q?5在前Q?E在后Q就是Little endian方式?/p>

q两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,h国里爆发了内战,战争起因是h们争论,吃鸡蛋时I竟是从大头(Big-Endian)敲开q是从小?Little-Endian)敲开。ؓ了这件事情,前后爆发了六ơ战争,一个皇帝送了命,另一个皇帝丢了王位?/p>

因此Q第一个字节在前,是”大头方式“QBig endianQ,W二个字节在前就?#8221;头方式“QLittle endianQ?/p>

那么很自然的Q就会出C个问题:计算机怎么知道某一个文件到底采用哪一U方式编码?

Unicode规范中定义,每一个文件的最前面分别加入一个表C编码顺序的字符Q这个字W的名字叫做”零宽度非换行I格“QZERO WIDTH NO-BREAK SPACEQ,用FEFF表示。这正好是两个字节,而且FF比FE??/p>

如果一个文本文件的头两个字节是FE FFQ就表示该文仉用大头方式;如果头两个字节是FF FEQ就表示该文仉用小头方式?/p>

8. 实例

下面QD一个实例?/p>

打开”C?#8220;E序Notepad.exeQ新Z个文本文Ӟ内容是一?#8221;?#8220;字,依次采用ANSIQUnicodeQUnicode big endian ?UTF-8~码方式保存?/p>

然后Q用文本~辑软gUltraEdit?/a>?#8221;十六q制功能“Q观察该文g的内部编码方式?/p>

1QANSIQ文件的~码是两个字节“D1 CF”Q这正是“?#8221;的GB2312~码Q这也暗CGB2312是采用大头方式存储的?/p>

2QUnicodeQ编码是四个字节“FF FE 25 4E”Q其?#8220;FF FE”表明是小头方式存储,真正的编码是4E25?/p>

3QUnicode big endianQ编码是四个字节“FE FF 4E 25”Q其?#8220;FE FF”表明是大头方式存储?/p>

4QUTF-8Q编码是六个字节“EF BB BF E4 B8 A5”Q前三个字节“EF BB BF”表示q是UTF-8~码Q后三个“E4B8A5”是“?#8221;的具体编码,它的存储序与编码顺序是一致的?/p>

9. 延阅读

* The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character SetsQ关于字W集的最基本知识Q?/p>

* 谈谈Unicode~码

* RFC3629QUTF-8, a transformation format of ISO 10646Q如果实现UTF-8的规定)

Q完Q?/p>



lauer3912 2010-12-02 23:30 发表评论
]]>
þþþþþĻ| ھƷþþþ| ŷ˾þۺ | þۺϾɫۺվ| ƷŷþþӰ| þ91Ʒ91þ鶹| ˾þ| þþƷ}Ů| ƷþòҰ| ŷձþþƷ| þþþ뾫Ʒ| þþƷһ| պþþþþ| ݺɫۺϾþȥ| 㽶þþþþúݺɫ| þ޹ҹƷƬ| þþƷа| 99þù޸ۿ2024 | þþþùһ| ɫþAVۺ| þþþþҹƷ| þþƷѲ| Ʒþþþþۺձ| þþƷav鶹ͼƬ| þ91Ʒ91þû| þ˽˹Ʒ| þþþþҹƷ| ŷҹAŴƬþ | þþþ| ഺþ| þþþþþ91Ʒѹۿ| ݺɫۺϾþȥ | ۺϾþۺ| ҹþþӰԺ| Ʒþþþþ| þþ99ƷƬĻ| Ůaaaþþü| þùƷƷ| þþþþùƷ| þþþùһ| þ޾Ʒ벥|