unicode是字符集,但是微軟在windows上把unicode視為utf-16,即乙個字元佔2個位元組16位。utf-16是unicode的一種編碼規則,與此同時還有utf-8 ,utf-32。
utf-8將一些字元編碼為1個位元組,一些字元編碼為2個位元組,一些字元編碼為3個位元組,一些字元編碼為4個位元組。
utf-16將每個字元都編碼為2個位元組
utf-32將每個位元組都編碼為4個位元組
typedef char char //8 bit
typedef wchar_t wchar //16bit
//指標 指向8位字元
typedef char* pchar
typedef char* pstr
typedef const char* pcstr
//指標 指向16位字元
typedef wchar* pwchar
typedef wchar* pwstr
typedef const wchar* pcwstr
#ifdef unicode // r_winnt
#ifndef _tchar_defined
typedef wchar tchar, *ptchar;
typedef wchar tbyte , *ptbyte ;
#define _tchar_defined
#endif /* !_tchar_defined */
typedef lpwch lptch, ptch;
typedef lpcwch lpctch, pctch;
typedef lpwstr ptstr, lptstr;
typedef lpcwstr pctstr, lpctstr;
typedef lpuwstr putstr, lputstr;
typedef lpcuwstr pcutstr, lpcutstr;
typedef lpwstr lp;
typedef pzzwstr pzztstr;
typedef pczzwstr pczztstr;
typedef puzzwstr puzztstr;
typedef pcuzzwstr pcuzztstr;
typedef pnzwch pnztch;
typedef pcnzwch pcnztch;
typedef punzwch punztch;
typedef pcunzwch pcunztch;
#define __text(quote) l##quote // r_winnt
#else /* unicode */ // r_winnt
#ifndef _tchar_defined
typedef char tchar, *ptchar;
typedef unsigned char tbyte , *ptbyte ;
#define _tchar_defined
#endif /* !_tchar_defined */
typedef lpch lptch, ptch;
typedef lpcch lpctch, pctch;
typedef lpstr ptstr, lptstr, putstr, lputstr;
typedef lpcstr pctstr, lpctstr, pcutstr, lpcutstr;
typedef pzzstr pzztstr, puzztstr;
typedef pczzstr pczztstr, pcuzztstr;
typedef pnzch pnztch, punztch;
typedef pcnzch pcnztch, pcunztch;
#define __text(quote) quote // r_winnt
#endif /* unicode */ // r_winnt
#define text(quote) __text(quote) // r_winnt
Unicode字符集和多字符集
由於各國語言的加入,ascii已經不能滿足資訊交流的需要,因此,為了能夠表示其它國家的文字,各國在ascii的基礎上制定了自己的字符集,它們正式的名稱應該是mbcs multi byte chactacter system,即多位元組字元系統 型別說明 unicode ansi 通用型別 字元wch...
Unicode字符集詳解
一句來自 三國 中的話 分久必合合久必分,各個字符集之間也存在的分久必合的現象。隨著國際標準iso10646規定的通用字符集 ucs,全稱universal mutiple octet doded character set 的發布,各種字符集之間不統一和諧的問題就得到了改觀。utf編碼,全稱是un...
單位元組字符集,多位元組字符集,Unicode
我們在這裡介紹一下字元型別。這裡有3種編碼模式對應3種字元型別。第一種編碼型別是單子節字符集 single byte character set or sbcs 在這種編碼模式下,所有的字元都只用乙個位元組表示。ascii是sbcs。乙個位元組表示的0用來標誌sbcs字串的結束。第二種編碼模式是多位...