Вот очень простой код 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.conf
файл, расположенный внутри etc
папка. Это не имело никакого значения.
UTF-8
это многобайтовая кодировка символов, что означает, что большинство символов занимают несколько байтов. Так что один char
недостаточно, чтобы держать большинство UTF-8
персонажи.
Вы можете хранить их в строке, как это:
std::string s = "\u0444";
Других решений пока нет …