【问题标题】:Locale-specific lookup table特定于区域设置的查找表
【发布时间】:2011-09-26 12:28:51
【问题描述】:

我正在使用查找表来优化适用于单个字符的算法。目前我正在将 a..z, A..Z, 0..9 添加到查找表中。这在欧洲国家行得通,但在亚洲国家却没有多大意义。

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

伪代码:

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

您怎么看?如何才能做到这一点?有什么替代建议吗?

【问题讨论】:

  • 你的意思是 a..ö 和 A..Ö? (当然是在开玩笑。)

标签: delphi localization internationalization delphi-xe


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 2012-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多