第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在C ++源代碼中使用Unicode

在C ++源代碼中使用Unicode

C++
慕運維8079593 2019-11-15 13:17:07
C ++源代碼的標準編碼是什么?C ++標準是否甚至對此有所說明?我可以用Unicode編寫C ++源代碼嗎?例如,我可以在注釋中使用非ASCII字符,例如中文字符嗎?如果是這樣,是允許使用完全Unicode還是僅允許Unicode的一部分?(例如,該16位首頁或任何被稱為的頁面。)此外,我可以對字符串使用Unicode嗎?例如:Wstring str=L"Strange chars: a? ??? ě €€";
查看完整描述

3 回答

?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

用C ++進行編碼相當復雜。這是我對此的理解。


每個實現(xiàn)都必須支持基本源字符集中的字符。這些包括§2.2/ 1(C ++ 11中的§2.3/ 1)中列出的常見字符。這些字符都應(yīng)該合而為一char。此外,實現(xiàn)還必須支持一種使用名為universal-character-names和\uffff或的方式來命名其他字符的方法,\Uffffffff并且可以用來引用Unicode字符。它們的一個子集可用于標識符(在附錄E中列出)。


一切都很好,但是從文件中的字符到源字符(在編譯時使用)的映射是實現(xiàn)定義的。這構(gòu)成了所使用的編碼。這是它的字面意思(C ++ 98版):


必要時,以實現(xiàn)定義的方式將物理源文件字符映射到基本源字符集(為行尾指示符引入換行符)。Trigraph序列(2.3)替換為相應(yīng)的單字符內(nèi)部表示形式?;驹醋址?.2)中未包含的任何源文件字符都將替換為指定該字符的通用字符名稱。(一個實現(xiàn)可以使用任何內(nèi)部編碼,只要處理在源文件中遇到的實際擴展字符,以及在源文件中表示為通用字符名稱的相同擴展字符(即,使用\ uXXXX表示法)等同地。)


對于gcc,您可以使用選項進行更改-finput-charset=charset。此外,您可以在運行時更改用于重新設(shè)置值的執(zhí)行字符。正確的選項是-fexec-charset=charsetchar(默認為utf-8)和-fwide-exec-charset=charset(默認為utf-16或utf-32取決于大小wchar_t)。


查看完整回答
反對 回復 2019-11-15
?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

除了litb的帖子,MSVC ++也支持Unicode。我了解它從BOM表獲取Unicode編碼。它絕對支持諸如int (*?)();或的代碼,const std::set<int> ?; 如果您真的對代碼感到迷惑:


typedef void ?; // Also known as \u203C

class oo? {

    operator ?() {}

};


查看完整回答
反對 回復 2019-11-15
?
瀟瀟雨雨

TA貢獻1833條經(jīng)驗 獲得超4個贊

據(jù)我所知,C ++標準未提及源代碼文件編碼。


通常的編碼是(或曾經(jīng)是)7位ASCII-一些編譯器(例如,Borland的編碼器)會討厭使用高位的ASCII字符。如果您的編譯器和編輯器接受Unicode字符,則沒有技術(shù)上的理由,因為大多數(shù)基于Linux的現(xiàn)代工具以及許多基于Windows的更好的編輯器都可以毫無問題地處理UTF-8編碼。我不確定微軟的編譯器會。


編輯:看起來微軟的編譯器將接受Unicode編碼的文件,但有時也會在8位ASCII上產(chǎn)生錯誤:


warning C4819: The file contains a character that cannot be represented

in the current code page (932). Save the file in Unicode format to prevent

data loss.


查看完整回答
反對 回復 2019-11-15
  • 3 回答
  • 0 關(guān)注
  • 554 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號