字串: 怎樣在ANSI 和 UNICODE間做轉換 (轉)
字串: 怎樣在ANSI 和 UNICODE間做轉換
問題: 怎樣在ANSI 和 UNICODE間做轉換?
答案:
這個答案啟發自 Yves M貼出的一張回覆(reply)
ANSI 到 UNICODE:
這個轉換用MultiByteToWChar()完成
程式碼:
--------------------------------------------------------------------------------
char *ansistr = "Hello";
int a = lstrlenA(ansistr)+1;
BSTR unicodestr = SysAllocStringLen(NULL, 2*a);
MultiByteToWideChar(CP_ACP, 0, ansistr, a, unicodestr, a);
AfxMessageBox(CString(unicodestr), MB_OK, 0); //displays "Hello"
//... when done, free the BSTR
SyreeString(unicodestr);
--------------------------------------------------------------------------------
UNICODE 到 ANSI:
UNICODE大多數情況下被OLE函式返回, 像這個
程式碼:
--------------------------------------------------------------------------------
HRESULT SomeOLEFunction(BSTR &bstr)
{
bstr = ::SysAllocString(L"Hello");
return S_OK;
}
--------------------------------------------------------------------------------
這個轉換用WideCharToMultiByte()函式完成
程式碼:
--------------------------------------------------------------------------------
BSTR unicodestr;
SomeOLEFunction(unicodestr);
int a = SysStringLen(unicodestr)+1;
char *ansistr = new char[a];
WideCharToMultiByte(CP_ACP,
0,
unicodestr,
-1,
ansistr,
a,
NULL,
NULL);
AfxMessageBox(ansistr, MB_OK, 0); // will display "Hello"
//...use the strings, then free their memory:
delete[] ansistr;
SysFreeString(unicodestr);
--------------------------------------------------------------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993442/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C++ string互轉wstring/Unicode互轉ANSI/Unicode互轉UTF8C++Unicode
- python實現中文和unicode轉換PythonUnicode
- Java 中 CLOB 和字串之間的轉換Java字串
- MSSQL-從字串轉換日期和/或時間時,轉換失敗SQL字串
- python時間戳和時間字串的各種轉換Python時間戳字串
- python字串轉換為日期時間Python字串
- 【Go】IP地址轉換:數字與字串之間高效轉換Go字串
- mysql時間與字串之間相互轉換MySql字串
- c++中字元、字串和數字間的轉換C++字元字串
- 如果ChannelHandler之間處理資料格式不一樣,可以怎麼做轉換?
- PDF轉換器在電腦上怎樣使用?PDF轉換器功能有哪些?
- 中文字串 轉 unicode 編碼的字串字串Unicode
- php日期時間如何轉換為字串PHP字串
- golang日期字串與時間戳轉換Golang字串時間戳
- Java 正確的做字串編碼轉換Java字串編碼
- Java Stram實現Map和字串之間互相轉換| BaeldungJava字串
- Golang 陣列和字串之間的相互轉換[]byte/stringGolang陣列字串
- 字串大小寫轉換和字串的比較字串
- 從 unicode 到位元組的轉換Unicode
- Python中怎麼轉換字串大小寫Python字串
- 時間相減和時間轉換
- 時間戳與時間字串的多時區轉換時間戳字串
- 字串-大小寫轉換字串
- list與字串轉換字串
- binaascii:A Python 在二進位制和 ASCII 之間轉換ASCIIPython
- 怎麼樣轉換pdf格式為Word?
- 【CDB】怎樣轉換non-CDB to CDB
- 角度和弧度之間的轉換
- 時間轉換
- python中列表、字典和字串的互相轉換Python字串
- c++中數字和字串的轉換C++字串
- JavaScript字串大小寫轉換JavaScript字串
- JavaScript字串轉換數字JavaScript字串
- 字串轉換整數(atoi)字串
- 字串 列表 字典 互相轉換字串
- 尤拉角和旋轉矩陣之間的轉換矩陣
- Caj檔案怎樣整篇轉換成Word
- unix時間轉換為datetimedatetime轉換為unixtime
- python 在windows cmd中顯示彩色的字串(無第三方庫,用ANSI轉義)PythonWindows字串