gpt4 book ai didi

string - 软件/操作系统中存储的字母表顺序是什么级别?

转载 作者:行者123 更新时间:2023-12-04 23:51:13 28 4
gpt4 key购买 nike

按字母顺序排序并不是我们花太多时间担心的事情。我们在很小的时候就学习了字母表,现在我们知道它(拉丁文)以 A 开头,然后是 B,然后是 C 等等,一直到 Z。

但是这个订单究竟存储在计算机系统中的什么位置呢?高级编程语言具有各种按字母顺序排列集合的 native 函数,但我认为它们反过来依赖于较低级别的引用来实现这一点?

除了基本顺序之外,还必须有一种方法来存储 E、e、È、Ê 都在 D 之间的事实F

我相当熟悉 ASCII、Unicode 等,但扩展字符集并未严格按字母顺序排列,因此我假设“顺序”存储在其他地方。

我也熟悉数据库中 Collat​​ion 的概念,但我再次假设这依赖于一些较低级别的实现?

简而言之:

如果我想更改“字母表”的顺序,我会更改什么?

这个订单(我们都凭直觉知道)最终存储在哪里?

最佳答案

有两种对字母数据进行排序的函数:期望所有文本都是 ASCII 并按 ASCII 代码顺序有效排序的朴素非本地化函数,忽略其他字符或以某种奇怪的方式处理它们,以及应用语言环境的本地化函数-特定的整理顺序。这通常不是操作系统问题,但例如系统中文件名的排序需要基于一些整理顺序。

在现代世界中,计算机软件应该应用通用区域设置数据存储库 ( CLDR ) 作为排序的基础,并可能通过特定于区域设置的规则得到增强。 CLDR 模型基于层或“增量”:有一个整体默认顺序,一个修改它的泛欧洲顺序,以及一个修改它的特定于区域设置的顺序。例如,在德语排序中,“Ä”被视为主要等同于“A”;在许多其他语言中,例如芬兰语、瑞典语和爱沙尼亚语,它被视为放在“Z”之后的单独字母。

关于string - 软件/操作系统中存储的字母表顺序是什么级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16688659/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com