最近「ComicGlassのソートがWindowsの並びと違う」とご意見を頂きました。 WindowsXP以降ではファイル名のソート順が数値などを解釈する自然な並びになるようになっています。 よって単純なコードの比較とは違う結果になります。 よく説明されるのは、 20string 2string 3string というソート順だったのが 2string 3string 20string という感じになることでしょうか。 WindowsであればStrCmpLogicalW()というAPIを呼び出すとこのソートが行われます。 Windows以外の環境でこのソートを再現する方法は、検索するといくつか提案されていますが、どうも結果が違います。 公式な仕様が見つかればいいんですが、どうも見つかりません。 そこで、それを再現すべくそもそもWindowsがどのようにソートしているか実験してみました。 (