字串 前 L的含義

2021-06-05 16:38:02 字數 628 閱讀 5151

一、 在字串前加乙個

l作用: unicode字符集是兩個位元組組成的。l告示編譯器使用兩個位元組的 unicode 字符集。

如  l"

我的字串"    表示將

ansi字串轉換成unicode

的字串,就是每個字元占用兩個位元組。

strlen("asd")   =   

3;   

strlen(

l"asd")   =   6;

二、 _t

巨集可以把乙個引號引起來的字串,根據你的環境設定,使得編譯器會根據編譯目標環境選擇合適的(unicode還是ansi)字元處理方式

如果你定義了unicode,那麼_t巨集會把字串前面加乙個l。這時 _t("abcd") 相當於 

l"abcd" 

,這是寬字串。 

如果沒有定義,那麼_t巨集不會在字串前面加那個l,_t("abcd") 就等價於 

"abcd"

如果你接觸過unicode你就明白在許多api函式中字串都需要寬字元的,也就是用兩個位元組來表示乙個字元,這與ansi字元不同,後者使用乙個位元組表示乙個字元,字串前加l,就是將ansi字元轉換成unicode字元。

這篇文章介紹  ansi 和 unicode

字串 前 L的含義

一 在字串前加乙個 l作用 unicode字符集是兩個位元組組成的。l告示編譯器使用兩個位元組的 unicode 字符集。如 l 我的字串 表示將 ansi字串轉換成unicode 的字串,就是每個字元占用兩個位元組。strlen asd 3 strlen l asd 6 二 t 巨集可以把乙個引號...

python 字串前加 b u r 含義

常見的形式有以下三種 u u unicode編碼 適用於中文。英文本元無需編碼,正常可以解析。但是中文,必須標明編碼,否則編碼轉換就會出現亂碼。r r 非轉義的原始字串 比如最常見的 n 表示換行。而在這些轉義字元前加r,那麼說明後面的字元,都是普通的字元了,即如果是 n 那麼表示乙個反斜槓字元,乙...

Python字串前加r u的含義

python字串前加字元r是告訴直譯器該字元是原始字元 不要轉義 原始字串 所有的字串都是直接按照字面的意思來使用,沒有轉義特殊或不能列印的字元。原始字串除在字串的第乙個引號前加上字母 r 可以大小寫 以外,與普通字串有著幾乎完全相同的語法。python字串前加字元u是告訴直譯器該字元是按照unic...