特定于语言环境的查找表

时间:2011-09-26 12:28:52

标签: delphi localization internationalization delphi-xe

我正在使用查找表来优化适用于单个字符的算法。目前我正在向查找表中添加a..z,A..Z,0..9。这在欧洲国家运作良好,但在亚洲国家,它没有多大意义。

我的想法是,我可以使用Windows默认代码页中的字符作为查找表的字母表。

伪代码:

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

您如何看待以及如何实现这一目标?还有其他建议吗?

1 个答案:

答案 0 :(得分:2)

正如您所提到的,对于不同的脚本,它没有多大意义。它可能只对基于字母的语言有所帮助 BTW。对于大多数欧洲语言来说,A-Z是不够的。

我不太清楚你在做什么以及你需要这个查找表,但看起来你正在寻找的是索引字符。您可以在CLDR中找到此类信息 - 查找indexCharacters。可以使用各种语言的资源here 实际上对于某些语言,您将面临的唯一问题索引字符往往是基于拉丁语的。这只是因为这些语言实际上没有它们......在这种情况下,您可能希望使用所谓的Exemplar Characters,但请注意,对于某些用例可能还不够。