读书人

字符串前加个L是什么意思?解决办法

发布时间: 2012-02-09 18:22:27 作者: rapoo

字符串前加个L是什么意思?
比如 wstring str = L "this ";

[解决办法]
宽字符串
[解决办法]
UNICODE
[解决办法]
这个字符串是宽字符

[解决办法]
先说宽字符常量,它是用来支持某些语言的字符集合,如汉语、日语,这些语言中的某些字符不能用单个字符表示。于是想对应的就有了宽字符串咯!

L -> Long 对于宽字符傅值是L字符串 2个字节存储
因为ASCII是完全的美国标准 无法有效表示其他国家语言符号
后来引入了活动页影射效果不甚理想
最后决定2字节宽字符编码 65535个字符 足于应付世界上各个国家的语言
中日韩字符集好像被编在 0X4FFF -- 0X9FFF 之间

不推荐直接使用L " ",除非你指定了特定的API等,比如xxxxxW的
一般使用_T( " "),在VC下


[解决办法]
当不存在
[解决办法]
宽字符 ,1个中文占用两字节编码,16bit

读书人网 >C++

热点推荐