VC里的编码问题

来源:互联网 发布:java主方法入口 编辑:程序博客网 时间:2024/05/20 06:09
void CAlignSentenceDoc::NormalizeCH(wstring& delim){    for(int i = 0; i < delim.size(); i++)    {        if(delim[i] == L'。')            delim[i] = L'.';        if(delim[i] == L',')            delim[i] = L',';    }}

delim是wstring,因此里面的每个字符都是宽的,因此要用L宏做转化。
但是我试过代码写成如下

    wchar_t t = '。';//这里t是0xa1a3,不是。的unicode编码    wchar_t t2 = L'。';//这里t是0x3002,是unicode编码

也就是wchar_t 编译器并不会做一个强制转化,不加宏默认都是ascii。

0 0