CStringA=ANSI是吗?
CStringW=Unicode是吗?char*=ANSI是吗?
wchar_t*=Unicode是吗?CStringA<->CStringW怎么办?
CStringA<->char*怎么办?
CStringW<->wchar_t*怎么办?CStringW<->char*可以吗?
CStringA<->wchar_t*可以吗?char*<->wchar_t*可以吗?那UTF-8又是用什么标识符声明的变量?
CStringW=Unicode是吗?char*=ANSI是吗?
wchar_t*=Unicode是吗?CStringA<->CStringW怎么办?
CStringA<->char*怎么办?
CStringW<->wchar_t*怎么办?CStringW<->char*可以吗?
CStringA<->wchar_t*可以吗?char*<->wchar_t*可以吗?那UTF-8又是用什么标识符声明的变量?
const char* utf8_string = u8"汉字";
utf-8也是一种Unicode, windows上面的Unicode其实是utf-16,
因为windows本身API没有utf8版本, 所以需要转换, 当然,utf几个互相转换的
代码非常简单, 大部分人都能写,所以一般转换效率要高.wchar_t 是c/c++宽字符类型, 标准并未规定其实际编码方式,像
c++11具体规定的utf-8, utf-16, utf-32字符()就强制规定了编码方式
auto a = u8'U';
auto b = u'T';
auto c = U'F';
a -> char, b -> char16_t, c-> char32_t
也可以用宏 wstr = CA2W(cstr) cstr = CW2A(wstr)