Какой порядок сортировки используется в проводнике Windows?
Мне было конкретно интересно, какие специальные символы сортируютсяпослеалфавиты?
Насколько я могу судить (тест), все специальные символы, похоже, сортируются перед алфавитами. Но я не смог определить порядок. (например, '@' идет после '%', что не так на клавиатуре)
Есть ли какие-то специальные символы, которые будут отсортированы?послеалфавиты?
решение1
Я провел несколько тестов, и общий порядок выглядит следующим образом...
Символы
Латинский (упорядочен по значению Unicode (U+xxxx))
Греческий (упорядочен по значению Unicode (U+xxxx))
Кириллица (упорядочен по значению Unicode (U+xxxx))
Иврит (упорядочен по значению Unicode (U+xxxx))
Арабский (упорядочен по значению Unicode (U+xxxx))
Числа
Латинский (упорядочен по значению Unicode (U+xxxx))
Греческий (упорядочен по значению Unicode (U+xxxx))
Кириллица (упорядочен по значению Unicode (U+xxxx))
Иврит (упорядочен по значению Unicode (U+xxxx))
Арабский (упорядочен по значению Unicode (U+xxxx))
Буквы
Латинский (упорядочен по значению Unicode (U+xxxx))
Греческий (упорядочен по значению Unicode (U+xxxx))
Кириллица (упорядочен по значению Unicode (U+xxxx))
Иврит (упорядочен по значению Unicode (U+xxxx))
Арабский (упорядочен по значению Unicode (U+xxxx))
Последовательность правил сортировки против наблюдаемого порядка
Стоит отметить, что на самом деле есть два способа взглянуть на это. В конечном счете, у вас есть сортировочные правила, которые применяются в определенном порядке, в свою очередь, это создает наблюдаемый порядок. Порядок старых правил становится вложенным в порядок новых правил. Это означает, что первое примененное правило является последним наблюдаемым правилом, в то время как последнее примененное правило является первым или самым верхним наблюдаемым правилом.
Последовательность правил сортировки
1.) Сортировка по значению Unicode (U+xxxx)
2.) Сортировка по культуре/языку
3.) Сортировка по типу (символ, число, буква)
Соблюденный порядок
Самый высокий уровень группировки — по типу в следующем порядке...
1.) Символы
2.) Цифры
3.) БуквыТаким образом, любой символ любого языка стоит перед любой цифрой любого языка, а любая буква любого языка стоит после всех символов и цифр.
Второй уровень группировки — по культуре/языку. Для этого, по-видимому, применяется следующий порядок:
Латинский
Греческий
Кириллица
Иврит
АрабскийСамым простым правилом является порядок Unicode, поэтому элементы в группе «тип-язык» упорядочиваются по значению Unicode (U+xxxx).
решение2
Ответы, представленные в этом обсуждении, хотя и интересны, но несколько эзотеричны. Простой ответ заключается в том, чтониктосимволов сортируются после букв (без учета специального способа '
и -
обработки, см. ниже).
В других ответах говорится, что символы сортируются по значению Unicode. Однако для символов проводника Windows 10 в блоке Basic Latin (символы ASCII) это не совсем так.
Следующая таблица символов ASCII, разрешенных в именах файлов (с указанием символов, их значений Unicode и описания символов), организована в порядке сортировки, используемом в проводнике Windows 10.
Символы ASCII, разрешенные в именах файлов
Listed in File Explorer's ascending sort order
Юникод Описание шестнадцатеричного значения символа --------- ------------ ---------------------------------------- ! 0021 восклицательный знак # 0023 знак числа $ 0024 знак доллара % 0025 знак процента & 0026 амперсанд ( 0028 левая скобка ) 0029 правая скобка , 002C запятая . 002E точка/точка ; 003B точка с запятой @ 0040 реклама у знака [ 005B левая квадратная скобка ] 005D правая квадратная скобка ^ 005E циркумфлексный акцент _ 005F нижняя линия, подчеркивание ` 0060 ударение с ударением { 007B левая фигурная скобка } 007D правая фигурная скобка ~ 007E тильда + 002B знак плюс = 003D знак равенства 0-9 0030 – 0039 цифры от нуля до девяти A-z¹ 0041 – 005A, заглавные буквы от A до Z 0061 – 007Строчная буква от a до z
решение3
Для пользователей латинского алфавита, которые ищут символ для сопоставления после всего остального, вы можете использовать (как сказано в более длинных ответах) символы из других алфавитов (греческий, кириллица, иврит, арабский).
Я использую Омегу (Ω) или последнюю букву еврейского алфавита (ת).
решение4
Они, вероятно, отсортированы по соответствующему значению вТаблица ASCII.
Фактический алгоритм сортировки, вероятно, более сложен и также требует другихЮникодсимвол во внимание. Но символ, показанный в ваших примерах, появляется в таблице ASCII, и их значения (по крайней мере порядок) также отображаются в Unicode.