一、 在字串前加乙個
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...