Я немного узнаю о символах UTF-8 и о том, как они создаются.
Я работаю над методом, который будет принимать входную строку и преобразовывать любые "специальные" символы в их базовые.эквивалент.
Например, я ожидал, что значения "c" ниже приведут к выводу "c":
"ç" => "c"
"ć" => "c"
"č" => "c"
"ⓒ" => "c"
"?" => "c"
Однако только "ⓒ" нормализуется до "c".
Я использую этот метод:
private String getNormalizedInputText() {
//String input = getIntent().getStringExtra(Intent.EXTRA_PROCESS_TEXT);
String input = "ç ć č ⓒ ?";
String normalizedInput = Normalizer.normalize(input, Normalizer.Form.NFKC);
Log.d("Normalized Input", normalizedInput);
return normalizedInput;
}
РЕДАКТИРОВАТЬ: Можно ли это сделать математически?