詳談c++跨平臺編碼的問題

最近要將一個windows下的項(xiàng)目放到樹莓派上,以便充分利用帶寬資源,使其以夜繼日的工作

10年積累的網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計制作后付款的網(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)試的時候,方便查看的有ANSI編碼和unicode編碼

在代碼中

以"你好,world"表示ANSI編碼字符串

L"hello,世界"表示unicode編碼字符串

以上兩種表達(dá)方式,不受代碼文件本身的編碼方式影響

對于linux編程,代碼文件默認(rèn)編碼是utf8

在代碼中

以"你好,world"表示的字符串,編碼以此文件的編碼為準(zhǔn)

對于L"hello,世界",本人未測試

對于代碼中沒有非ancii編碼字符的源碼文件,ANSI和utf8都沒什么問題

但如果出現(xiàn)中文,就出現(xiàn)了各種問題,針對上面的那些特性,采取了以下解決方案

源代碼文件統(tǒng)一utf8編碼,對于vs有一個插件可用 ForceUTF8

代碼中的常量字符串統(tǒng)一為L"hello,世界"的unicode編碼方式

對于各種接口參數(shù)和返回值,盡量給成unicode

對于打印輸出,盡量給成utf8編碼

同時,為了方便操作,給出utf8和unicode操作宏,方便utf8和unicode的字符串編碼轉(zhuǎn)換

以上這篇詳談c++跨平臺編碼的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前標(biāo)題:詳談c++跨平臺編碼的問題
URL鏈接:http://muchs.cn/article6/gceoig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、企業(yè)網(wǎng)站制作、響應(yīng)式網(wǎng)站、網(wǎng)站收錄、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司