1

这是非常简单的 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 字符。

字符应如下所示:ф(参见:链接

相反,我得到以下输出:

(图片)

我尝试添加-J-Dfile.encoding=UTF-8到位于文件夹内的netbeans_default-options文件中。它没有任何区别。netbeans.confetc

4

1 回答 1

1

UTF-8是一种多字节字符编码,这意味着大多数字符占用几个字节。因此,单个char不足以容纳大多数UTF-8角色。

您可以将它们存储在这样的字符串中:

std::string s = "\u0444";
于 2016-08-08T04:54:19.370 回答