ansi
版本和unicode版本的函式實現
2023年11
月4日星期二
通常我們在程式設計中需要提供軟體的
ansi
版本和unicode
版本,以提供更大的相容空間。最新的
windows
作業系統已經將內部實現都轉換為
unicode
編碼了。儘管有很多
api還有
ansi
版本,但是其內部實現卻是先轉換為
unicode
,然後再呼叫
unicode
版本的函式。因此,我們在實際編寫兩個版本的函式實現時,也應該採用這種方法。下面通過乙個小的控制台程式作為演示,詳細**如下:
函式實現標頭檔案:
#include
"windows.h"
// unicode
bool stringreversew(pwstr pwidecharstr,dword cchlength)
// the string is reversed;return success.
return true; }
// ansi
bool stringreversea(pstr pmultibytestr,dword cchlength)
// free the memory containing the wide-character string.
heapfree(getprocessheap(),0,pwidecharstr);
return fok; }
#ifdef
unicode
#define
stringreverse stringreversew
#define
printf wprintf
#else
#define stringreverse stringreversea
#define printf printf
#endif
// !unicode
主檔案:
#include
"stdafx.h"
#include
"reversestring.h"
int_tmain(int argc, _tchar* argv)
編碼基礎概念 ANSI和unicode
ansi指american national standards institute 美國國家標準學會 ansi編碼不是一種具體的編碼方式,而是一種指定在某些環境下使用某些編碼方式的標準。比如,在中文環境中ansi的編碼標準為gbk,在日語環境中ansi的編碼標準則是shift jis編碼。asci...
ansi字元,unicode字元
編碼指不同國家的語言在計算機中的一種儲存和解釋規範 ansi與ascii 最初,internet上只有一種字符集 ansi的ascii字符集 american standard code for information interchange,美國資訊交換標準碼 它使用7 bits來表示乙個字元,總...
VB中的Unicode 和 Ansi 格式
vb中的unicode 和 ansi 格式 visual basic 32 bit 版本的字串處理採用 unicode,也就是說字串在 vb 內部是以unicode 的格式來存放。何謂 unicode?簡單的說,就是每乙個字元都是以 2 byte 的形式表示,而每個 實體字元 就是乙個 字元 因此,...