Какова цель или эквивалент умляута «А» в С? - PullRequest
0 голосов
/ 20 ноября 2018

Я видел умлаут «А» в Си два раза.Когда я открываю его в Turbo C, я не могу найти его, но когда я открываю его в блокноте, он показывает. Также я видел это в книге (я не могу дать источник, потому что он локальный) и номер 3, который выглядиткак показатель.Есть идеи, что это?

редактировать: я нашел это.gotoxy(12,8);cout<<"Ã"<<"Ä"<<"Ä"<<"´";<br> gotoxy(12,9);cout<<"³";<br> gotoxy(15,6);cout<<"Å"<<"Ä"<<"Ä"<<"¿";

1 Ответ

0 голосов
/ 20 ноября 2018

C массивов символов не имеют концепции кодирования строк. Это просто байты в массиве, оканчивающиеся на \0. Вы можете использовать wchar_t для поддержки юникода, но доступно ли это для Turbo-C (около 1988 года) ??!.

Если вы хотите использовать UTF-8, убедитесь, что вы работаете с редактором, который может обрабатывать символы этого типа. В противном случае в однооктетной кодировке ISO-8859-16 присутствуют символы умлаут.

Если ваш редактор не может напрямую обрабатывать UTF-8, вы можете закодировать их в двоичном виде:

char umlaut_A[3] = { 0xc3, 0x84, 0x00 };   // Ä
char umlaut_a[3] = { 0xc3, 0xa4, 0x00 };   // ä
// ... etc.

Один из способов выяснить это - вставить строку UTF-8 в файл, например: Ä ä ö ü. Затем используйте шестнадцатеричный редактор, чтобы увидеть соответствующие цифры.

...