В настоящее время у меня есть этот символ °
(символ степени), который мне нужно преобразовать в /00B0
. Я заметил, что есть библиотека под названием ICU для C/C++, но мне нужно будет использовать такую библиотеку? Мой вход кодируется как ISO/IEC 8859-1.Преобразование специальных символов в unicode C++
Имеет ли общая библиотека C++ эта функция DECODE уже реализована или библиотека ICU необходима для таких операций?
Если есть такой способ вызова персонажа, такого как °
, пожалуйста, перешлите меня на такой или напишите быстрый пример? :).
EDIT Итак, я просматриваю целую строку, и когда я вижу специальный символ, или, скорее, некоторый символ, который не является альфа-символом, символом цифры, символом «-» или «», я прошу вывод символа, который не прошел ни один из этих тестов.
Я получаю вывод как \303
, который является форматом OCTAL специального символа. Heres код я использую, чтобы сделать тесты:
if (isalpha(aline[i+1]) || isdigit(aline[i+1]) || aline[i+1] == '-' || aline[i+1] == ' ')
regionName.push_back(aline[i+1]);
else
cout << aline[i+1] << endl;
Таким образом, когда выполняется оператор еще, я получаю восьмеричной выходы ... по умолчанию ... Как бы я изменить это в формат Юникод?
Пример вывода:
\303
\203
\302
«Я получаю восьмиричные выходы ... «как в, он буквально печатает' \ 303'? –
yeah ... выход по какой-то причине возвращает эти значения:/ – jsetting32
, когда выполняется инструкция else, я либо получаю upsidedown вопросительные знаки (найденные пробелы), либо '\' с тремя цифрами, предшествующими – jsetting32