1、Unicode起源
Unicode是Apple和Xerox公司于1988年建立的一個技術标準。1991年,成立了一個集團機構負責Unicode的開發和推廣應用。該集團由許多知名公司組成。
Unicode提供了一種簡單而又一緻的表示字元串的方法。Unicode字元串中的所有字元都是1 6位的(兩個位元組)。
2、Unicode優點
可以很容易地在不同語言之間進行資料交換。
使你能夠配置設定支援所有語言的單個二進制. e x e檔案或D L L檔案。
提高應用程式的運作效率。
3、Winodws對Unicode的支援
Windows 2000是使用Unicode從頭進行開發的,用于建立視窗、顯示文本、進行字元串操作等的所有核心函數都需要Unicode字元串。如果調用任何一個Winodws函數并給它傳遞一個ANSI字元串,那麼系統首先要将字元串轉換成Winodws,然後将Winodws字元串傳遞給作業系統。如果希望函數傳回ANSI字元串,系統就會首先将Unicode字元串轉換成ANSI字元串,然後将結果傳回給你的應用程式。
Windows 98不是一種全新的作業系統。它繼承了1 6位Winodws作業系統的特性,它不是用來處理Unicode的.
因為WindowsCE在世界各地銷售,為了降低軟體開發成本,且使Windows CE盡量小些,微軟在此系統上隻提供了Unicode支援,沒有提供對ANSI的支援。
4、char,WCHAR, TCHAR之差別與聯系
char 表示ANSI字元集,一個字元占一個位元組。
WCHAR表示寬字元集,一個字元占二個位元組,即UNICODE字元。
對于TCHAR,當定義了_UNICODE宏,則代表WCHAR,如果沒有定義_UNICODE宏,則代表char,TCHAR.h中有形如下面的定義:
#ifdefine _UNICODE
typedef WCHAR TCHAR
#else
typedef char TCHAR
#endif
是以,如果想要你的程式既支援ANSI,又支援UNICODE,那就使用定義在TCHAR.h中的類型和函數。