这是非常简单的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)
相反,我得到以下输出:
我尝试将-J-Dfile.encoding=UTF-8
添加到位于netbeans_default-options
文件夹内的netbeans.conf
文件中的etc
。它没有任何区别。
答案 0 :(得分:1)
UTF-8
是多字节字符编码,这意味着大多数字符占用几个字节。因此,单个char
不足以容纳大多数UTF-8
个字符。
您可以将它们存储在这样的字符串中:
std::string s = "\u0444";