Мне трудно понять порядок сортировки Unicode.
Когда я запускаю Collator.getInstance(Locale.ENGLISH).compare("_", "#")
под ICU4J 55.1, я получаю возвращаемое значение -1
, указывающее, что _
предшествует #
.
Однако, глядя на http://www.utf8-chartable.de/unicode-utf8-table.pl?utf8=dec Я вижу, что #
(U+0023) предшествует _
(U+005F). Почему ICU4J возвращает значение -1
?
allkeys.txt
, что дает порядок сортировки по умолчанию._
это005F ; [*020B.0020.0002] # LOW LINE
, а#
это0023 ; [*0391.0020.0002] # NUMBER SIGN
. Обратите внимание, что числа для_
меньше, чем числа для#
. - person Mark Ransom   schedule 22.09.2015