我在我编写的 Java 程序中对 unix sort 命令进行排序。但是,由于 Java 的字符串比较的行为与排序进行的比较不同,我遇到了问题。
来自 [Java 文档][1]:
按字典顺序比较两个字符串。比较基于字符串中每个字符的 Unicode 值。
从排序手册页:
* 警告 * 环境指定的语言环境会影响排序顺序。设置 LC_ALL=C 以获取使用本机字节值的传统排序顺序。
所以我的猜测是需要使用 LC_ALL=C 进行排序。但是我一直认为这意味着基于 ASCII 值排序,这意味着谁知道 unicode 会发生什么。