我们正在使用IBM ICU Collator来排序我们的一些内部字符串列表 . 那些字符串列表有特殊字符,如0x1,0x2,0x3来分隔一些内部结构,字符串列表也可能包含一些混合语言 .
然后我们发现IBM ICU Collator以意想不到的方式对它们进行排序,例如,我们有字符串:
firstName
firstName\x1Account Name
firstName - lastName
\ x1表示十进制值为1的字符 .
我们希望排序能够保持顺序,但是它会在英语语言环境中提供以下结果:
firstName
firstName - lastName
firstName\x1Account Name
我们想知道是否有任何设置,以便我们可以使用小于0x5的特殊字符 .
谢谢 .
1 回答
我建议只将各个子字段排序在一起 . 除此之外,您可以附加一个规则字符串,例如
& \uFFFF = \u0001 = \u0002 = \u0003 = \u0004 = \u0005
,它会说0x1,2,3,4,5比任何其他文本都排序 .