導航:首頁 > 源碼編譯 > vc編譯屬性為utf怎麼改

vc編譯屬性為utf怎麼改

發布時間:2022-04-24 13:49:03

Ⅰ 怎樣在vc中使用utf-8

int MultiByteToWideChar(
UINT CodePage, // code page
DWORD dwFlags, // character-type options
LPCSTR lpMultiByteStr, // string to map
int cbMultiByte, // number of bytes in string
LPWSTR lpWideCharStr, // wide-character buffer
int cchWideChar // size of buffer
);
CodePage可以選CP_UTF8

Ⅱ VC++中如何改變文件編碼方式

據我所知,VC里對於文件不管什麼編碼的,對於VC來說它只認識二進制數據。比較接近物理底層,呵呵,我剛從VC轉向.net的時候也對.net的編碼郁悶了一段時間。

你可以使用_T("")宏把字元串轉成UNICODE編碼,不如_T("Hello World!"),不過可不能再保存到char數組里了,微軟給我們准備了一個TCHAR,其實就是一個 short int型數組,UNICODE 需要2個位元組來表示一個數組,現在只要把TCHAR內存塊寫進文件就OK了,對C++來說它還是一串二進制數據。

另外,微軟極力建議使用_T("")宏,所以請不要嫌麻煩,養成好的習慣是非常重要的!

Ⅲ vc++ 轉換字元串的編碼

UTF-8與GB2312之間的互換
相信一定有不少的程序開發人員時常會遇到字元編碼的問題,而這個問題也是非常讓人頭痛的。因為這些都是潛在的錯誤,要找出這些錯誤也得要有這方面的開發經驗才行。
這兩個函數就可以解決問題了
int WideCharToMultiByte(
UINT CodePage, // code page
DWORD dwFlags, // performance and mapping flags
LPCWSTR lpWideCharStr, // wide-character string
int cchWideChar, // number of chars in string
LPSTR lpMultiByteStr, // buffer for new string
int cbMultiByte, // size of buffer
LPCSTR lpDefaultChar, // default for unmappable chars
LPBOOL lpUsedDefaultChar // set when default char used
); //將寬字元轉換成多個窄字元

int MultiByteToWideChar(
UINT CodePage, // code page
DWORD dwFlags, // character-type options
LPCSTR lpMultiByteStr, // string to map
int cbMultiByte, // number of bytes in string
LPWSTR lpWideCharStr, // wide-character buffer
int cchWideChar // size of buffer
);//將多個窄字元轉換成寬字元 需要用到的一些函數
//-----------
也就是說,你在你的程序中直接調用上面兩個函數,就可以實現你要的轉換,你的問題中要的答案我已經說了,難道樓主要自己寫個模板來實現嗎?
更詳細是這樣:
UTF-8: 3位元組一個字元
UNICODE: 2位元組一個字元
GB2312: 1位元組一個字元

例子:

「你」字的UTF-8編碼: E4 BD A0 11100100 10111101 10100000
「你」的Unicode編碼: 4F 60 01001111 01100000
按照UTF-8的編碼規則,分解如下:xxxx0100 xx111101 xx100000
把除了x之外的數字拼接在一起,就變成「你」的Unicode編碼了。
注意UTF-8的最前面3個1,表示整個UTF-8串是由3個位元組構成的。
經過UTF-8編碼之後,再也不會出現敏感字元了,因為最高位始終為1。

/*---------*/
自己寫函數來實現就是(參考如下):
void UTF_8ToGB2312(string &pOut, char *pText, int pLen)
{
char * newBuf = new char[pLen];
char Ctemp[4];
memset(Ctemp,0,4);

int i =0;
int j = 0;

while(i < pLen)
{
if(pText > 0)
{
newBuf[j++] = pText[i++];
}
else
{
WCHAR Wtemp;
UTF_8ToUnicode(&Wtemp,pText + i);

UnicodeToGB2312(Ctemp,Wtemp);

newBuf[j] = Ctemp[0];
newBuf[j + 1] = Ctemp[1];

i += 3;
j += 2;
}
}
newBuf[j] = '\0';

pOut = newBuf;
delete []newBuf;

return;
}

Ⅳ 怎麼將VS2013的默認編碼改為UTF8

修改成UTF8的方法:
1、windows->Preferences...打開"首選項"對話框, 左側導航樹,導航到general->Workspace,右側 Text file encoding,選擇Other,改變為UTF-8,以後新建立工程其屬性對話框中的Text file encoding即為UTF-8。
2、 windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Content Types,右側Context Types樹,點開Text,選擇java Source File,在下面的Default encoding輸入框中輸入UTF-8,點Update,則設置Java文件編碼為UTF-8。其他java應用開發相關的文件 如:properties、XML等已經由MyEclipse預設指定,分別為ISO8859-1,UTF-8,如開發中確需改變編碼格式則可以在此指 定。
3、經過上述兩步,新建java文件即為UTF-8編碼,MyEclipse編譯、運行、調試都沒問題,但是做RCP應用的Proct輸 出時、或者插件輸出時,則總是出錯,要麼不能編譯通過(輸出時要重新compile)、要麼輸出的插件運行時中文顯示亂碼。此時需要再RCP應用、或插件 Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。讓輸出時編譯知道java源文件時UTF-8編碼。這個設置需要保證所有的java源文件時UTF-8編碼格式,如果不全是,可以參考 MyEclipse幫中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建議全部java源文件是UTF-8編碼。

Ⅳ VC6.0中怎麼設置輸出的TXT文件編碼為UTF-8

輸出正確的UTF-8純文本文件分為兩個步驟:

  1. 寫BOM文件頭。UTF-8編碼是EF BB BF

  2. 將文本通過MultibyteToWideChar轉換為UTF8格式,寫入文件。

需要注意的有兩條,一個是,不能以文本方式打開(因為BOM是不可列印的),一個是編碼轉換要確認初始編碼是什麼。

Ⅵ C++ 在寫入文件的時候,如何設置流的編碼方式為UTF-8

wofstream wofile("file");
wofile.imbue(locale( "", locale::all ^ locale::numeric));
「」表示表示使用本地語言,這里當然相當於「chs」或者「chinese」。
locale::all表示使用該語言的所有格式設置進行編碼轉換!
^是異或,locale::numeric表示數字格式。這里的意思是避免轉換數字格式!否則123456輸出結果會成為123,456這種形式!
1)std::ofstream 支持中文的文件名,可以正常的寫入中文(MBCS編碼)==>std::string類型
(2)std::wofstream 支持中文的文件名,可以正常的寫入中文常量(不帶L),如果是帶上L的話,需要將Locale設置成"chs"模式,對應std::wstring類型的變數(包含中文)寫入文件時,一定要將Locale設置成"chs"模式,否則不能正常寫入。
(3)寬字元的流(前面帶w的)==>支持按照MBCS寫文件,但是僅僅局限於常量比如std::wcout<<"wcout測試";對於MBCS的變數(std::string)來說將會產生編譯錯誤,例:std::string str = "中文";std::wcout<<str;
(4)對於寬字元的流如果是指明使用Unicode的話(std::wstring),就需要相應的設置區域了,調用相應的imbue方法
(5)總結一般的讀寫文件使用std::ofstream就行了,支持漢語,==>包括文件名,和文件寫入

Ⅶ 使用vc6操作mysql,表為utf8編碼,insert中文,如何解決亂碼

在mysql
安裝目錄下找到my.ini
文件夾
修改一下配置即可。將編碼方式改成gb2312如圖

Ⅷ VC 中如何改變文件編碼方式

在菜單: file/advanced save options/unicode utf8這里設置;
帶簽名指文件頭包含編碼信息。
EF BB BF,這三個位元組代碼這個文件時UTF8編碼。
FF FE:代表這是 UTF16 LE(小位元組序)編碼 。
FE FF : 代表是 UTF16 BE(大位元組序)。
詳細的資料可以去查詢UNICODE編碼規范。

Ⅸ VC++ 怎麼改變文件的編碼為 UTF-8

這個暫時沒有一步實現的方法,首先你要先理解原理 WINDOWS內部是使用寬位元組的,用的是unicode 所以你首先要把 ANSI=>Unicode,用函數MultiByteToWideChar實現 然後再把Unicode=>UTF8,用函數WideCharToMultiByte實現 原理就這樣,至於具體怎麼用

Ⅹ VC++ 寫入保存txt文件怎麼設置它的編碼方式,比如我想從默認的ANSI變為UTF-8,這在VC中怎麼實現

這個暫時沒有一步實現的方法,首先你要先理解原理

WINDOWS內部是使用寬位元組的,用的是unicode

所以你首先要把 ANSI=>Unicode,用函數MultiByteToWideChar實現

然後再把Unicode=>UTF8,用函數WideCharToMultiByte實現

原理就這樣,至於具體怎麼用,再網路一把吧,網上很多例子,勤奮的雙手創造財富

閱讀全文

與vc編譯屬性為utf怎麼改相關的資料

熱點內容
程序員的興趣 瀏覽:409
華為伺服器有什麼好 瀏覽:699
程序員和測試之間的關系 瀏覽:945
加密蚊帳什麼意思 瀏覽:151
javalistclear 瀏覽:607
哪個app上民宿多靠譜 瀏覽:827
重慶伺服器租用哪裡有雲伺服器 瀏覽:453
土星模擬器文件夾 瀏覽:902
文件夾文件袋文件盒 瀏覽:695
雲伺服器打開f8指令 瀏覽:243
盈透證券加密幣 瀏覽:72
阿里雲伺服器初始密碼怎麼修改 瀏覽:266
伺服器怎麼設定公用網路 瀏覽:99
程序員自己嘗尿檢測出糖尿病 瀏覽:593
列印添加pdf 瀏覽:932
蘋果解壓專家賬號 瀏覽:844
度曉曉app為什麼關閑 瀏覽:228
net文件是偽編解碼嗎 瀏覽:149
伴隨矩陣的matlab編程 瀏覽:63
單片機和h橋是什麼意思 瀏覽:314