0

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

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

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

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

谢谢。

4

1 回答 1

0

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

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

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

于 2012-10-19T04:07:56.153 回答