QT学习--基础知识

一、Qt所支持的平台

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

第一级平台:      

PlatformCompilers
Linux (32 and 64-bit)gcc 4.2
Microsoft Windows XPgcc 4.4 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit)
Microsoft Windows VistaMSVC 2005, 2008
Microsoft Windows Vista 64bitMSVC 2008
Apple Mac OS X 10.5 "Leopard" x86_64 (Carbon, Cocoa 32 and 64bit)As provided by Apple
Embedded 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)

第二级平台:

PlatformCompilers
Windows XP, Vistagcc 3.4.2 (MinGW)
Windows 7MSVC 2008
Apple Mac OS X 10.6 "Snow Leopard"As provided by Apple
Apple Mac OS X 10.4 "Tiger"As provided by Apple
HPUXi 11.11aCC 3.57, gcc 3.4
HPUXi 11.23aCC 6.10
Solaris 10 UltraSparcSun Studio 12
AIX 6Power5 xlC 7
Microsoft Windows XPIntel Compiler
LinuxIntel Compiler
Embedded 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。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值