这是非常简单的C++代码:
char a00 = 'Z';
char a01 = '\u0444';
char a02[5] = {'H','e','l','l','o'};
char a03[] = {'W','o','r','l','d','\0','Z','Z'};
cout << "Simple char: " << a00
<< "\nUTF-8 char: " << a01
<< "\nFull char array: " << a02
<< "\n2nd in char array: " << a02[1]
<< "\nWith null character: " << a03 << endl;
我的问题是,当Netbeans 8.1尝试显示此类程序的输出时,它没有创建UTF-8字符。
字符应如下所示:ф(请参阅:link)
相反,我得到以下输出:
(image)
我尝试将
-J-Dfile.encoding=UTF-8
添加到位于netbeans_default-options
文件夹内的netbeans.conf
文件内的etc
中。没关系。 最佳答案
UTF-8
是一种多字节字符编码,这意味着大多数字符占用几个字节。因此,一个char
不足以容纳大多数UTF-8
字符。
您可以将它们存储在这样的字符串中:
std::string s = "\u0444";