Как определить, является ли символ китайским в с ++? - PullRequest
0 голосов
/ 20 марта 2020

В python вы можете проверить символ 'c' в условии, например, если (c> = 0x4E00 и c <= 0x9FFF) .. и так далее, чтобы определить, является ли символ китайским. Как мы можем go сделать это в cpp? Я попытался использовать (unsigned int) c и некоторые способы сначала преобразовать его в utf-8 и попробовать. Пожалуйста, предложите способ сравнить гекс персонажа в c ++. </p>

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Если ваша строка в формате UTF-8 и вы используете локаль UTF-8, вы можете использовать std::mbrtoc32 для извлечения кодовых точек Unicode по одной из строки за раз. Пример на связанной веб-странице cppreference.com показывает, как это сделать.

Если символы имеют другую кодировку, невозможно дать совет без знания кодировки.

1 голос
/ 20 марта 2020

Вы не найдете поддержку символов UTF в C ++ (язык или библиотека), он поддерживает нормальные и широкие символы, но не поддерживает настоящие UTF.

Возможно, это может помочь вам, так как консорциум Unicode сам по себе открыт поставляемая библиотека C / C ++, которая должна помочь вам решить вашу проблему конверсии.
(http://site.icu-project.org/)

Конечно, некоторые более простые решения можно найти с помощью Google. легко

...