QT学习--基础知识

来源:互联网 发布:radius端口号 编辑:程序博客网 时间:2024/04/19 07:13

一、Qt所支持的平台

Qt把它所支持的平台分两级,第一级是重点支持的,第二级次之

第一级平台:    

PlatformCompilersLinux (32 and 64-bit)gcc 4.2Microsoft Windows XPgcc 4.4 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit)Microsoft Windows VistaMSVC 2005, 2008Microsoft Windows Vista 64bitMSVC 2008Apple Mac OS X 10.5 "Leopard" x86_64 (Carbon, Cocoa 32 and 64bit)As provided by AppleEmbedded Linux QWS (ARM)gcc (Codesourcery version)Windows CE 5.0 (ARMv4i, x86, MIPS)MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)Symbian (Symbian/S60 3.1, 3.2 and 5.0)RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build 482 or later], GCCE (for applications)

第二级平台:

PlatformCompilersWindows XP, Vistagcc 3.4.2 (MinGW)Windows 7MSVC 2008Apple Mac OS X 10.6 "Snow Leopard"As provided by AppleApple Mac OS X 10.4 "Tiger"As provided by AppleHPUXi 11.11aCC 3.57, gcc 3.4HPUXi 11.23aCC 6.10Solaris 10 UltraSparcSun Studio 12AIX 6Power5 xlC 7Microsoft Windows XPIntel CompilerLinuxIntel CompilerEmbedded Linux QWS (Mips, PowerPC)gcc (Codesourcery version)Embedded Linux X11 (ARM)gcc (Scratchbox)Windows CE 6.0 (ARMv4i, x86, MIPS)MSVC 2008 WinCE 6.0 Professional


二、qt应用程序的国际化

1、字符编码的基础知识

因为计算机只认识数字,当需要让计算机处理字符时,就需要在字符和数字之间建立一种映射,这就叫做字符编码。比如ascii码用数字0-127表示相应的字符。他们之间是一种映射关系。根据各个语系不同有很多不同的编码系统,就我们比较关系的有GB和unicode两个编码系统。GB是中国制定的包含汉字的一套系统,unicode是国际制定的一套包含所有世界上用的字符的编码系统。

国标编码系统:ascii-->gb2312-->GBK-->GB18030,他们是前向兼容的,同一个字符在所有标准中都是用同一数字表示,只是后面的标准包含更多字符。

unicode编码系统:ascii-->unicode,unicode编码系统应该从两个层面去理解,分别是编码方式和实现方式,第一层面:编码方式分两个编码规格,一种叫UCS-2(Universal Character Set),用两个字节表示所有字符,可以表示216个字符,另一种叫UCS-4,用四个字节表示,可以表示232个字符。第二层面:是基于上面的编码方式如何去具体实现,叫做实现方式,具体实现大体分三种UTF-8、UTF-16、UTF-32,UTF是UCS Transformation Format的缩写,可以翻译成Unicode字符集转换格式,其中以utf-8最常用,下面我们来看看utf-8的实现方式:

UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的编码方式如下:

  Unicode编码(16进制) ║ UTF-8 字节流(二进制)

  000000 - 00007F ║ 0xxxxxxx

  000080 - 0007FF ║ 110xxxxx 10xxxxxx

  000800 - 00FFFF ║ 1110xxxx 10xxxxxx 10xxxxxx

  010000 - 10FFFF ║ 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

  UTF-8的特点是对不同范围的字符使用不同长度的编码。对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同。UTF-8编码的最大长度是4个字节。从上表可以看出,4字节模板有21个x,即可以容纳21位二进制数字。Unicode的最大码位0x10FFFF也只有21位。

  例1:“汉”字的Unicode编码是0x6C49。0x6C49在0x0800-0xFFFF之间,使用用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将0x6C49写成二进制是:0110 1100 0100 1001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。

  例2:Unicode编码0x20C30在0x010000-0x10FFFF之间,使用用4字节模板了:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx。将0x20C30写成21位二进制数字(不足21位就在前面补0):0 0010 0000 1100 0011 0000,用这个比特流依次代替模板中的x,得到:11110000 10100000 10110000 10110000,即F0 A0 B0 B0。

 

原创粉丝点击