7
我在试图理解不同的编码方面有几个问题。C/C++编码问题
什么是字符串的默认编码?
char ascii[]= "Some text"; // This is plain ASCII right?
wchar_t utf[] = L"Some Text"; // Is this UTF-16? Or ASCII stored in wchar_t's?
MessageBoxW(NULL, L"Hello", L"HI", MB_OK); // What encodings are the 2 strings in?
然后,我将如何创建一个UTF-8字符串?如果我想在MessageBox中显示UTF-8字符?
我的问题主要针对Windows,但如果它在不同的操作系统上有所不同,我很想知道。
C++ x11为UTF-8字符串文字添加了一个'u8'前缀,例如:'u8“Hello World”',但是直到C++ x11被C++编译器厂商采用,你只需要编码UTF -8字符串来代替。例如,在运行时使用具有代码页65001的'WideCharToMultiByte()',或在编译时使用包含UTF-8八位字节值的'char []'文字。 – 2012-03-15 19:20:27