如果我正在排序两个字符串咖啡馆和咖啡馆,那么最佳做法是遵循哪个字母首先出现?我在javascript中测试了localeCompare,咖啡馆在咖啡馆之前来了,但我不明白为什么。
答案 0 :(得分:4)
最佳做法是先排序没有变音符号,即。咖啡馆来到咖啡馆。
localeCompare
通过剥离变音符来起作用,因此排序顺序并不反映真实的单词,因为咖啡馆变成了咖啡馆
您可以在此处阅读有关localeCompare的更多信息:
答案 1 :(得分:2)
https://en.wikipedia.org/wiki/Collation
文本的排序方式取决于文本的完成方式。
一种传统是字符的“US-ASCII”表示,特别是在C编程语言中。当文本按ASCII排序时,顺序仅取决于ASCII规范中每个字符的数值。有时这被称为“C”语言环境。
现代软件通常应使用合适的区域设置,以便按照人们期望的方式进行排序,而不管计算机使用的字符的数字表示形式。