如何解释排序(数字,词典和整理)与非技术测试人员的例子?

时间:2011-07-25 00:09:10

标签: testing sorting localization internationalization collation

我需要用法语和西班牙语的名字和姓氏来解释差异。任何指针都表示赞赏。我进行了谷歌搜索但结果不尽如人意。

1 个答案:

答案 0 :(得分:35)

以下是一些解释:

辞书

在这种情况下,您不考虑数字就对文本进行排序。事实上,数字只是“字母”,它们没有数字组合意义。

这意味着文本“ABC123”被分类为字母A,B,C,1,2和3,而不是A,B,C,然后是数字123.

这有一个令人遗憾的后果,即订购可能看起来的东西,就像他们应该按照数字顺序排序一样。

例如,在对这两个进行排序时:

ABC90
ABC100

您可能期望90之前的那个在100之前排序,因为90在100之前排序,但这不是词典排序的工作方式,它将9与1进行比较,然后将它们交换。

自然排序

这是通过在100之前排序90来使上述排序正常工作的排序。如果在两个文本中遇到数字,则自然排序切换到文本的一部分的数字排序。

基于排序的排序

这个处理语言之间的差异。

通常,词典排序将一个字母与另一个字母进行比较,并通常根据字母的“值”确定其顺序。这会产生一些奇怪的效果。

例如,您认为如何订购以下两个字符串?

ABCTEN
ABCßEN

好吧,因为ß的字母可能有一个序数值(即Unicode字母表中的“地点”),其值高于T,上述顺序就是结果。基本上,如果您查看包含所有字母的Unicode图表,您可能会发现T的符号值小于100,并且ß大于100。

但是,在德国,您应该将上述两个文本视为:

ABCTEN
ABCSSEN

因此他们的顺序应该颠倒,因为S在T之前。

这是基于排序规则的排序。您为文本选择一个排序规则,用于描述应处理这些文本的上下文。这允许您以不同语言获得自然排序。

例如,在挪威,字母Æ,Ø和Å被排在Z之后,但是在其他语言中(我忘了哪个),Æ应该排在E之后,Ø仅在O和Å之后在A之后。整理决定了这一点。