Я пытаюсь написать специальные символы в файл. Чтобы быть конкретным, что-то вроде символа 'ă', который, по-видимому, имеет код U + 0103.C/C++ Установить кодировку UNICODE .. Как написать 'ă' в файл
Я не понимаю, как установить кодировку UNICODE. И как на самом деле напечатать этот символ. Все, что я пробовал, в том числе wchar_t только печатает '?'.
И если я прочитал из текстового файла, используя wchar_t, будет ли он читать символ char? Поскольку нормальный символ в текстовом файле составляет 1 байт, а wchar_t - 2/4. Нужно ли читать char и конвертировать?
Некоторый пример исходного кода был бы оценен ... Заранее благодарен!
У вас, похоже, есть некоторые концептуальные проблемы, начинайте здесь: http://www.joelonsoftware.com/articles/Unicode.html – thebjorn
Чтобы начать с чего-то легкого: а) перестать думать о «Юникоде» как о единственной кодировке (это isn't), б) не верьте, что wchar_t - простое решение для всего (на самом деле wchar_t никак не привязан к любой кодировке Unicode. Это может быть что угодно.). c) Для всех трех самых обычных кодировок Unicode (UTF8/16/32) wchar_t с 2 байтами недостаточно для хранения символа (независимо от характера, потому что он используется с несколькими значениями) – deviantfan
@ thebjorn -> Спасибо за ссылку. Сделано много вещей намного яснее. Итак, как мне сделать печать программы в определенной кодировке. Или, если у меня есть строка, закодированная каким-то образом, как мне ее перевести? – RatkinHHK