Таблица соответствия для локали - PullRequest
1 голос
/ 26 сентября 2011

Я использую справочную таблицу для оптимизации алгоритма, который работает с отдельными символами. В настоящее время я добавляю a..z, A..Z, 0..9 в таблицу поиска. Это хорошо работает в европейских странах, но в азиатских странах это не имеет особого смысла.

Моя идея заключалась в том, что я мог бы использовать символы в кодовой странице Windows по умолчанию в качестве алфавита для таблицы поиска.

псевдокод:

for Ch in DefaultCodePage.Characters do
  LookupTable.Add (Ch, ComputeValue (Ch)); 

Что вы думаете и как этого достичь? Есть альтернативные предложения?

1 Ответ

2 голосов
/ 26 сентября 2011

Как вы упомянули, это не имеет особого смысла для различных сценариев . Это может иметь смысл только для алфавитных языков.
КСТАТИ. A-Z недостаточно для большинства европейских языков.

Я не совсем знаю, что вы делаете и для чего вам нужна эта справочная таблица, но кажется, что вы ищете индексные символы. Вы можете найти такую ​​информацию в CLDR - ищите indexCharacters. Ресурсы для различных языков доступны здесь .
Единственная проблема, с которой вы столкнетесь, на самом деле для некоторых языков Индексные символы, как правило, основаны на латинице. Это просто потому, что эти языки на самом деле не имеют их ... В этом случае вы можете использовать вместо них так называемые символы Exemplar, но имейте в виду, что этого может быть недостаточно для некоторых случаев использования.

...