The answers provided in this discussion, while interesting, are somewhat esoteric. The simple answer is that none of the symbols are sorted after the letters (not taking into account the special way '
and -
is handled, see below).
The other answers state that symbol characters are sorted by Unicode value. However, for Windows 10 File Explorer characters in the Basic Latin block (ASCII characters), this is not strictly true.
The following table of ASCII characters allowed in filenames (showing the characters, their Unicode values and a description of the character) is arranged in the sort order used by Windows 10 File Explorer.
ASCII Characters Allowed in Filenames
Listed in File Explorer's ascending sort order
Unicode
Character Hex Value Description
--------- ------------ ----------------------------------------
! 0021 exclamation mark
# 0023 number sign
$ 0024 dollar sign
% 0025 percent sign
& 0026 ampersand
( 0028 left parenthesis
) 0029 right parenthesis
, 002C comma
. 002E full stop/period
; 003B semicolon
@ 0040 commercial at sign
[ 005B left square bracket
] 005D right square bracket
^ 005E circumflex accent
_ 005F low line, underscore
` 0060 grave accent
{ 007B left curly bracket
} 007D right curly bracket
~ 007E tilde
+ 002B plus sign
= 003D equal sign
0-9 0030 – 0039 digit zero through digit nine
A-z¹ 0041 – 005A, capital letter A through Z
0061 – 007A small letter a through z
𝘪𝘨𝘯𝘰𝘳𝘦𝘥²
' 0027 apostrophe
- 002D hyphen/minus
¹
File Explorer's sort order does not differentiate between uppercase and lowercase letters in filenames
²
File Explorer ignores ' and - when sorting unless there's a direct conflict with another filename, in which case, the opposed filename takes precedence (e.g. foo
is sorted before -foo
); the only exception is when they're the only character in a filename – they'll then be after
,
A careful examination of the above table will reveal that +
and =
are not in the order they would be in if File Explorer sorting was done strictly by Unicode Value.
If they were sorted strictly by Unicode Value:
+
would come before ,
=
would come before @
See this post for how the sorting order works for other code sets: https://superuser.com/a/971721/1080517
-
and'
are ignored while sorting, so the next character counts!