簡體   English   中英

C ++編譯器如何從utf8源文件生成unicode字符串文字

[英]how can c++ compiler generate unicode string literals from a utf8 source file

我正在使用gcc用c ++編寫程序。 我有一個utf8編碼的源文件,我希望源文件中的字符串文字為UTF-16字符串。 我使用了gcc選項-municode,它定義了UNICODE宏。 字符串文字仍然實現為const char *。 當我使用TEXT(“ hello world”)時,它仍然是const char *

另外,我想知道要定義哪個宏,或要使用哪個命令行選項,以便在std :: string對象中具有16位特征,以及std庫的模板實例化(我希望std :: char_traits屬於wchar_t。

從C ++ 11開始,有多種方法可以為字符串文字和字符串對象指定UTF-16。 它為UTF-16字符引入char16_t ,為UTF-16字符串引入std::u16string ,為UTF-16文字引入u前綴

std::u16string str = u"Hello World";

編譯器負責將源代碼中的字符轉換為適當的文字字符值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM