2011-11-29 75 views
0

我們使用IBM ICU Collat​​or對一些內部字符串列表進行排序。這些字符串列表具有特殊字符,如0x1,0x2,0x3來分隔一些內部結構,字符串列表還可以包含一些混合語言。如何使用IBM ICU整理器處理特殊字符?

然後,我們發現IBM ICU校書郎以意想不到的方式對它們進行排序,例如,我們有字符串:

 
firstName 
firstName\x1Account Name 
firstName - lastName 

\ X1意味着十進制值字符1.

我們預計分揀保持順序,而是,它提供了以下結果在英語語言環境:

 
firstName 
firstName - lastName 
firstName\x1Account Name 

我們想知道是否有任何的設置,使我們可以使用特殊字符它小於0x5。

謝謝。

+0

默認情況下,您的0x1只是一個可忽略的字符 - 您的預期行爲是什麼?換句話說,它被排序爲「firstNameAccount Name」。 –

回答

0

我會建議只將各個子字段排序在一起。除此之外,你可以附加一個規則字符串,比如& \uFFFF = \u0001 = \u0002 = \u0003 = \u0004 = \u0005,它會表示0x1,2,3,4,5比任何其他文本都排序。