C 11 字串字面值

2021-08-08 19:58:45 字數 1019 閱讀 6838

標準c++提供了兩種字串字面值。第一種,包含有雙引號,產生以空字元結尾的const char陣列。第二種有著前標l,產生以空字元結尾的const wchar_t陣列,其中wchar_t代表寬字元。對於unicode編碼的支援尚付闕如。

為了加強c++編譯器對unicode的支援,類別char的定義被修改為其大小至少能夠儲存utf-8的8位編碼,並且能夠容納編譯器的基本字符集的任何成員。

c++11 將支援三種unicode編碼方式:utf-8,utf-16,和utf-32。除了上述char定義的變更, c++11將增加兩種新的字元類別:char16_t和char32_t。它們各自被設計用來儲存utf-16 以及utf-32的字元。

以下展示如何產生使用這些編碼的字串字面值:

u8"i'm a utf-8 string."

u"this is a utf-16 string."

u"this is a utf-32 string."

第乙個字串的類別是通常的const char;第二個字串的類別是const char16_t;第三個字串的類別是const char32_t。

當建立unicode字串字面值時,可以直接在字串內插入unicode codepoints。c++11提供了以下的語法:

u8"this is a unicode character: \u2018."

u"this is a bigger unicode character: \u2018."

u"this is a unicode character: \u2018."

在』\u』之後的是16個位元的十六進製制數值;它不需要』0x』的前標。識別字』\u』代表了乙個16位的unicode codepoint;如果要輸入32位的codepoint,使用』\u』和32個位元的十六進製制數值。只有有效的unicode codepoints能夠被輸入。舉例而言,codepoints在範圍u+d800—u+dfff之間是被禁止的,它們被保留給utf-16編碼的surrogate pairs。

C 字串字面值

c 字串型別 char 和 wchar t c11 新增了 char16 t 和 char32 t 例子 wchat t title l char t w char string char16 t name u char16 char16 string char32 t car u char 32 ...

C 11字元陣列 字串 數字轉換 字串拼接

二 string轉num 三 char轉num 四 char與string的相互轉換 五 字串拼接 參考文獻 標頭檔案 include include int num 123 string num2str to string num cout typeid to string num typeid ...

04 字串的字面量

字串是乙個術語,是人們說的語言。字串的字面量,需要使用單引號或又引號包裹起來。字串被限定在引號之間,單雙需要成對。console.log 這是字串 console.log 這也是字串 只要用引號,就是字串了 console.log console console.log alert console....