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

Ara*_*ram 13 sorting testing localization collation internationalization

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

ang*_*son 37

以下是一些解释:

在这种情况下,您不考虑数字就对文本进行排序.实际上,数字只是"字母",它们没有数字组合含义.

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

这有一个令人遗憾的结果是,订购可能看起来像他们应该按照数字排序的东西却没有.

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

ABC90
ABC100
Run Code Online (Sandbox Code Playgroud)

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

自然排序

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

基于整理的排序

这个处理语言之间的变化.

通常,词典排序将一个字母与另一个字母进行比较,并通常根据字母的"值"确定它们的顺序.这可能会产生一些奇怪的效果.

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

ABCTEN
ABCßEN
Run Code Online (Sandbox Code Playgroud)

好吧,因为ß的字母可能具有序数值(即Unicode字母表中的"位置"),其值比T高,所以上述顺序就是结果.基本上,如果您查看包含所有字母的Unicode图表,您可能会发现T的符号值小于100,而ß大于100.

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

ABCTEN
ABCSSEN
Run Code Online (Sandbox Code Playgroud)

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

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

例如,在挪威,字母Æ,Ø和Å被排列为直接在Z之后,但是在其他语言中(我忘了哪个),Æ应该在E之后排名,Ø刚好在O之后和Å之后.整理决定了这一点.