字串: 怎樣在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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WindowsCE下Unicode和Ansi字元間互相轉換的例子 (轉)WindowsUnicode字元
- VB中的Unicode 和 Ansi 格式 (轉)Unicode
- 字串:怎樣轉換字串為數字型別? (轉)字串型別
- 字串:怎樣將數字型別轉換為字串 (轉)字串型別
- clob和字串之間的轉換字串
- C++ string互轉wstring/Unicode互轉ANSI/Unicode互轉UTF8C++Unicode
- SQL Server 字串和時間相互轉換SQLServer字串
- Unicode和UTF-8之間的轉換詳解Unicode
- 字串和Date型別之間的轉換字串型別
- ANSI與UTF8之間的轉換!std::string與UTF8之間的轉換
- json字串和js物件之間相互轉換JSON字串物件
- 如果ChannelHandler之間處理資料格式不一樣,可以怎麼做轉換?
- python時間戳和時間字串的各種轉換Python時間戳字串
- python實現中文和unicode轉換PythonUnicode
- mysql時間與字串之間相互轉換MySql字串
- 時間日期字串轉換為時間物件字串物件
- c++中字元、字串和數字間的轉換C++字元字串
- 【Go】IP地址轉換:數字與字串之間高效轉換Go字串
- Java 經典例項: Unicode字元和String之間的轉換JavaUnicode字元
- PDF轉換器在電腦上怎樣使用?PDF轉換器功能有哪些?
- excel日期格式轉換中,怎樣將“/”轉換成“-”Excel
- Python字串轉換成Unicode--比較好用的方法Python字串Unicode
- 字串轉換字串
- Java 正確的做字串編碼轉換Java字串編碼
- javascript字串和陣列轉換JavaScript字串陣列
- php日期時間如何轉換為字串PHP字串
- python字串轉換為日期時間Python字串
- golang日期字串與時間戳轉換Golang字串時間戳
- 如何將時間字串轉換為時間物件字串物件
- Java Stram實現Map和字串之間互相轉換| BaeldungJava字串
- JSON格式字串和物件之間的轉換程式碼JSON字串物件
- 關於XML字串和XML Document之間的轉換薦XML字串
- 怎樣做專案計劃(轉)
- Java--包裝類(基本型別和字串之間的轉換)、進位制轉換Java型別字串
- 字串大小寫轉換和字串的比較字串
- Jdk用native2ascii命令做unicode編碼轉換JDKASCIIUnicode
- javascript數字和字串相互轉換JavaScript字串
- 字串和陣列的相互轉換字串陣列