通用 mfc 資料型別
對映到 ascii
對映到 unicode
注釋
_tchar
char
wchar_t
_tchar 是乙個對映巨集,當定義 unicode 時,該資料型別對映到 wchar_t,如果沒有定義 unicode,那麼它對映到 char。
_t 或 _text
char 常量字串
wchar_t 常量字串
功能與巨集相同,在 ascii 模式下,它們被忽略,也就是說被預處理器刪除掉,但是如果定義了unicode, 則它們會將常量字串轉換成等價的 unicode 。
lptstr
char*, lpstr(win32)
wchar_t*
可移植的32位字串指標。它將字元型別對映到工程設定的型別。
lpctstr
const char*, lpcstr(win32)
const wchar_t*
可移植的32位常量字串指標。它將字元型別常量對映到工程設定的型別。
修改字串運算問題
一些字串操作函式需要獲取字串的字元數(sizeof(szbuffer)/sizeof(tchar)),而另一些函式可能需要獲取字串的位元組數sizeof(szbuffer)。您應該注意該問題並仔細分析字串操作函式,以確定能夠得到正確的結果。
ansi操作函式以str開頭,如strcpy(),strcat(),strlen();
unicode操作函式以wcs開頭,如wcscpy,wcscpy(),wcslen();
ansi/unicode操作函式以_tcs開頭 _tcscpy(c執行期庫);
ansi/unicode操作函式以lstr開頭 lstrcpy(windows函式);
考慮ansi和unicode的相容,我們需要使用以_tcs開頭或lstr開頭的通用字串操作函式。
UNICODE與ASCII的區別
最近的專案涉及到了國際化的問題,由於之前並沒有接觸到unicode編碼,因此,在專案期間,收集了一些關於ascii和unicode的資料。1.ascii的特點 ascii 是用來表示英文本元的一種編碼規範。每個ascii字元占用1 個位元組,因此,ascii 編碼可以表示的最大字元數是255 00h...
關於ASCII和Unicode字集
void cdrawview onlbuttondown uint nflags,cpoint point 錯誤 error c2664 cwnd messageboxw 不能將引數 1 從 const char 75 轉換為 lpctstr messagebox t don t create do...
ASCII和Unicode編碼詳解
本文參考大量維基百科和網路大牛的文章,並結合實際例子,試圖幫助大家理清計算機的編碼問題,從而更加高效的編寫程式。我們常說的位是指位元位,即bit,每乙個bit位儲存乙個0或者1。所以,在計算機 二進位制數系統 中,乙個位 bit 就是指乙個0或者1。我們說計算機的cpu一次能處理的最大位數就是指這個...