Windowsでファイルをアルファベット順に並べ替えると、ファイル名がスペースで相互に拡張されているときに奇妙なことが発生することに気づきました。たとえば、「Outline.pdf」と「Outline Revised.pdf」の2つのファイルがあるとします。後者は前者を拡張した長い名前を持っているので、あなたはそれが後に来るだろうと思うでしょう。ただし、昇順で並べ替えると、次のようになります。
Alphabetical.pdf
概要改訂版.pdf
Outline.pdf
Outline_Revised.pdf
Outline-Revised.pdf
仕分け
何が起こっているのかを詳しく説明するために、ファイルを追加しました。 「Outline」と「Revised」の間にスペースがある場合、ファイルは「Outline.pdf」の前にソートされます。ただし、このスペースがアンダースコアまたはハイフンに切り替えられた場合、これは発生しなくなりました。
私の質問は次のとおりです。なぜWindowsはソート時にこのようなスペースを扱うのですか?つまり、名前の末尾よりもスペースが優先されるのはなぜですか?
それほど重要ではありませんが、これを変更する方法はありますか?
編集:より多くのコンテキストのためにファイル拡張子を追加しました。
編集2:より明確な例のためにファイルを追加しました
オペレーティングシステムが実際に使用できるのは、2つの基本的な方法 ASCIIソート または 自然ソート のいずれかのみです。
ASCIIはこれを与える
picクレジット- http://support.ecisolutions.com/doc-ddms/help/reportsmenu/ascii_sort_order_chart.htm
これは、各要素を取得し、他の解釈なしにソート規則を適用します。
自然ソートは、数値シーケンスなどをより論理的な順序で処理しようとします-したがって、10、11、9ではなく9、10、11
また、さまざまな空白文字を同等に扱うことで、より「ライブラリスタイル」のソートを処理できます。
Windowsの並べ替えはASCIIを使用しているように見え、スペースがアンダースコアの前に来るため、最初に並べ替えられます。
同様に、「なぜ合理的な心が自然にソートされるのに、ウィンドウがファイルを下にしてフォルダを上にソートするのですか?」-誰かがそのように選択したのに他の理由はありません。 、ASCIIでソートする必要があります。完璧な解決策はありません。
サンプルファイルに非表示の「ドット3」拡張子が付いていることを含めていませんでした。
[ドット]はスペース、ASCIIの後にソートされます。
これは、.3を明示的に示すために質問が編集される前でした
経験的に、MacとWin10の両方が最近、何らかの自然な並べ替えを行っているようです。Windowsは以前は使用していなかったので、Winをあまり使用していないので、見てみる必要がありました。
これは、それぞれが同じファイルをソートする方法です…
彼らは両方とも、厳密なASCIIソートとは逆に、アンダースコアがダッシュの前に来ることに同意しているようですが、ピリオドの扱いについては同意しません。