ANSI版本和UNICODE版本的函式實現

2021-04-26 23:42:18 字數 1164 閱讀 5613

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 的形式表示,而每個 實體字元 就是乙個 字元 因此,...