Вы ищете не ту проблему.
Юникод - это основная цель кодирования символов (без потери информации).Шрифты и другие программы должны иметь возможность интерпретировать такие символы и давать глиф (в соответствии с кодовой точкой комбинации, соседними символами и другими характеристиками вне кодовых точек [например, язык, эпоха, характеристика шрифта [сценарий и не сценарий, прописные буквы, курсив и т. Д.Изменяет, как комбинировать символы и лигатуру (а также форму глифа).
Существует две основные нормализации (каноническая и совместимая) [и два варианта: разлагается и составляется, когда это возможно]. Каноническая нормализация удаляет ненужные символы (повторение) и порядок составления символов стандартным способом. Совместимая нормализация удаляет «совместимые символы»: символы в Unicode, чтобы не потерять информацию при преобразовании в другую кодировку и из нее.
Некоторые цифры (например, маленький показатель 2)иметь совместимый символ как обычную цифру (это вопрос форматирования, юникод не относится к форматированию). Но в других случаях цифры в разных символах должны содержать разные символы.
Это было о нормализации.
Но вы хотите получить числовое значение символа Юникод (предупреждение: оно может зависеть от других символов, положения и т. Д.).
База данных Unicode также предоставляет такое свойство.
С Javascript вы можете использовать пакет javasript-свойств unicode-properties , который предоставляет вам также функцию getNumericValue(codePoint)
.Эти пакеты, кажется, используют эффективное сжатие базы данных, но я не знаю, насколько быстро это может быть.База данных огромна.