我需要用法语和西班牙语的名字和姓氏来解释差异。任何指示表示赞赏。我进行了谷歌搜索,但结果并不令人满意。
以下是一些解释:
词典编法
在这种情况下,您可以对文本进行排序而不考虑数字。事实上,数字只是“字母”,它们没有数字组合的意义。
这意味着文本“ABC123”按字母 A、B、C、1、2 和 3 排序,而不是先按 A、B、C 再按数字 123 排序。
这会带来不幸的后果,即订购可能会look就像他们应该像数字一样排序。
例如,当对这两个进行排序时:
ABC90
ABC100
您可能期望 90 的排序在 100 之前,因为 90 排在 100 之前,但这不是字典顺序的工作原理,它将 9 与 1 进行比较,然后交换它们。
自然排序
通过将 90 排在 100 之前,这种排序可以使上述排序正常工作。如果在两个文本中都遇到数字,则自然排序会切换到文本部分的数字排序。
基于排序规则的排序
这个处理诸如语言之间的差异之类的事情。
通常,字典顺序将一个字母与另一个字母进行比较,并通常根据字母的“值”确定它们的顺序。这可能会产生一些奇怪的效果。
例如,您认为以下两个字符串将如何排序?
ABCTEN
ABCßEN
好吧,由于 ß 的字母可能具有比 T 更高的序数值(即它在 Unicode 字母表中的“位置”),因此上述顺序就是结果。基本上,如果您查看包含所有字母的 Unicode 图表,您可能会发现 T 的符号值小于 100,而 ß 大于 100。
但是,在德国,您应该将上述两个文本视为:
ABCTEN
ABCSSEN
因此它们的顺序应该颠倒,因为 S 在 T 之前。
这是基于排序规则的排序。您为文本选择一个排序规则,该排序规则描述了应在其中处理这些文本的上下文。这使您能够以不同的语言获得自然的排序。
例如,在挪威,字母 Æ、Ø 和 Å 直接排在 Z 之后,但在其他语言中(我忘了是哪一种),Æ 应该排在 E 之后,Ø 应该排在 O 之后,Å 应该排在 A 之后。整理表明了这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)