【问题标题】:Replacing non-Latin chars with Latin counterparts like Phonebook App将非拉丁字符替换为拉丁字符,如电话簿应用程序
【发布时间】:2012-10-08 14:30:44
【问题描述】:

我有一个电话簿应用程序,通过比较条目的第一个字母来生成部分标题的标题。

索引是预定义的,所以我希望从 A-Z 和数字 # 分配字母。

问题是在许多语言中有很多带有重音符号的字母,包括 ü、İ、ç 等。在我的方法中,由于这些字符不属于 A-Z 范围,因此它们被分配给 # 这是不希望的。

本机 iOS 电话簿应用程序例如将 ü 分配给 U 等。有没有一种简单的方法可以在不定义一组字符的情况下进行这种转换?

谢谢。

【问题讨论】:

    标签: iphone ios unicode casting char


    【解决方案1】:

    查看 Unicode 规范化。您可能需要 NFD 和足够数据提取的某种组合。如果您从 Unicode 中查看 this file,您会看到类似

    00E9;拉丁小写字母 E ACUTE;Ll;0;L;0065 0301;;;;N;;;00C9;;00C9

    其中00E9,即'é',分解为0065 0301。你拿起0065 (a),丢弃0301 (´)。这个文件应该让你很好地开始。 Objective-C/iOS 中可能有等效的功能,但我不知道从哪里开始......

    【讨论】:

      猜你喜欢
      • 2015-06-26
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多