最近要將一個(gè)windows下的項(xiàng)目放到樹莓派上,以便充分利用帶寬資源,使其以夜繼日的工作
10年積累的網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有札達(dá)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在此記錄一下編碼問題和方案
在windows下,現(xiàn)在用的vs2015,創(chuàng)建的代碼文件默認(rèn)編碼是ANSI,windows特有的概念,本地編碼,結(jié)合實(shí)際情況就是gb232
vs在調(diào)試的時(shí)候,方便查看的有ANSI編碼和unicode編碼
在代碼中
以"你好,world"表示ANSI編碼字符串
L"hello,世界"表示unicode編碼字符串
以上兩種表達(dá)方式,不受代碼文件本身的編碼方式影響
對(duì)于linux編程,代碼文件默認(rèn)編碼是utf8
在代碼中
以"你好,world"表示的字符串,編碼以此文件的編碼為準(zhǔn)
對(duì)于L"hello,世界",本人未測(cè)試
對(duì)于代碼中沒有非ancii編碼字符的源碼文件,ANSI和utf8都沒什么問題
但如果出現(xiàn)中文,就出現(xiàn)了各種問題,針對(duì)上面的那些特性,采取了以下解決方案
源代碼文件統(tǒng)一utf8編碼,對(duì)于vs有一個(gè)插件可用 ForceUTF8
代碼中的常量字符串統(tǒng)一為L(zhǎng)"hello,世界"的unicode編碼方式
對(duì)于各種接口參數(shù)和返回值,盡量給成unicode
對(duì)于打印輸出,盡量給成utf8編碼
同時(shí),為了方便操作,給出utf8和unicode操作宏,方便utf8和unicode的字符串編碼轉(zhuǎn)換
以上這篇詳談c++跨平臺(tái)編碼的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。