|
|
1
10
这个 Wikipedia article 指出,由于非字母脚本的排序非常困难,现在的答案是通过输入字符而不是通过查看列表来非常容易地查找信息。
另外,如果您不想在系统中实现排序规则,另一种解决方案是创建一个Ajax服务,将名称存储在MySql或其他数据库中,然后用order语句查找数据。 |
|
|
2
23
本地人
像Shift-JIS这样的编码中的术语double byte在web上下文中没有任何意义:DOM和JavaScript字符串本机是Unicode的,浏览器接收到的编码页面中的原始字节早已消失。
是
没有全球接受的订购。即使是最基本的ASCII拉丁字符,语言也不一致(例如
主要的Unicode-CJK统一表意字符块碰巧是按字根和笔画数排序的(康熙字典顺序),这可能是含糊不清的有用。但是使用任何其他CJK扩展块中的字符,或者混合使用一些假名或罗马字符,它们之间将没有意义的排序。 Unicode联盟 do attempt
对。除了一般的排序问题外,按音节准确地处理汉字是一项非常困难的任务,因为你必须猜测发音。JavaScript实际上并不知道您所说的Fujimoto而不是touhon;这类东西需要深入的内置字典和仍然不可靠的启发式方法。。。不是那种你想在编程语言中构建的东西。 |
|
|
3
3
字符串逐字符比较,其中 code point value defines the order
|
|
|
4
3
其他人已经回答了其他问题,我将回答这个问题:
一种方法是,您需要创建一个可以“读取”字符的程序;也就是说,能够将汉字/汉字字符映射到它们的“声音”(拼音/平假名读取)。在最简单的层次上,这意味着一个将汉字/汉字映射到声音的数据库。当然,这比听起来更困难(双关语不是故意的),因为很多字符在不同的上下文中可以有不同的发音,而汉语有很多不同的方言要考虑。 另一种方法是按笔画顺序排列。这意味着需要有一个数据库将汉字/汉字映射到它们的笔划。另一个问题是:中国人和日本人的笔画顺序不同。然而,除了日语和汉语的差异之外,在单个文本中使用笔划顺序要一致得多,因为汉字/汉字几乎总是使用相同的笔划顺序来书写,而不管它们是什么意思或如何阅读。类似的想法是按部首排序,而不是按笔画顺序。 第三种方法是按Unicode码点排序。这很简单,而且总是给出无可争议的一致顺序;然而,问题是排序顺序对人类来说毫无意义。 最后一种方法是重新考虑绝对排序的必要性,只需使用一些启发式方法,根据与用户需求的相关性进行排序。例如,在购物车软件中,您可以根据用户的购买习惯或价格进行排序。这种方法可以避免这个问题,但大多数情况下都是有效的(除非你在编字典)。 正如您所注意到的,前两种方法需要创建一个包含一对多映射的大型数据库,但它们并不总是提供有用的结果。第三种方法也需要一个巨大的数据库,但是许多编程语言已经在语言中内置了这个数据库。最后一种方法是启发式的,可能是最有用的,但是它们注定永远不会给出一致的排序(比前两种方法差得多)。 |
|
|
5
1
是的,人物会被比较。不过,它们通常是根据Unicode代码点进行比较的,而平假名和汉字的代码点有很大的不同,这使得这种类型在日语中可能毫无用处。(汉字是从中国借来的,但它们在汉语中出现的顺序与平假名的顺序并不一致,平假名代表了相同的意思)。为了便于比较,有一些排序规则可以使某些字符“相等”,但我不知道是否有一种排序规则会认为汉字等同于构成其发音的平假名——特别是因为一个字符可以有许多不同的发音。 在汉语、韩语或其他没有3个不同字母的语言中(其中一个字母是非常不规则的),这可能不是什么问题。 |
|
|
6
1
它们按码点值升序排序。这对人类读者来说毫无意义。为日语设计一个合理的排序方案并不是不可能的,但是对汉字进行排序是很困难的(部分原因是我们不一定知道我们看的是日语还是汉语),很多程序员都支持这个解决方案。 |
|
|
7
1
许多编程语言中的普通字符串比较函数的设计都是为了确保字符串可以按唯一顺序排序,从而允许二进制搜索和重复检测等算法正常工作。要以对人类读者有意义的方式对数据进行排序,必须知道数据代表什么。例如,在英语电影标题列表中,“El Mariachi”通常会按“E”排序,但在西班牙语电影标题列表中,它会按“M”排序。应用程序将需要字符串本身所包含的信息以外的信息来知道字符串应该如何排序。 |
|
|
8
1
对于中国人来说,Q1(你会排序)和Q3(排序有意义)的答案都是“是”(从大陆的角度来看)。对于Q2(如何排序): pinyin ,而且更常见的是(在几乎所有的中文字典中)按拼音排序,没有歧义。发音相同的字符按笔划顺序排序。 复调字符给分类带来了额外的挑战,因为它们的拼音通常取决于它们所在的单词(我听说日语字符可能更多毛)。例如,字符¨在§¨(括号中的音调)中发音为a(1),在¨中发音为e(1)。因此,如果你需要对单词或句子进行排序,你不能一次只看每个项目中的一个字符。 |
|
|
9
0
回想一下,在JavaScript中,您可以将一个函数传递到sort()中,在该函数中您可以自己实现sort,以便实现对人类重要的排序:
|
|
|
Rewind · 同时搜索最大值/最小值的操作顺序 1 年前 |
|
|
badbee · 使用xsl:sort时保留未排序元素的问题 1 年前 |
|
|
josepmaria · Pandas顺序列,按对列出 1 年前 |
|
|
BTBts · Python3文件名的字母数字排序[重复] 1 年前 |
|
|
Paul-ET · 对树状图应用程序发送的第一列进行排序失败 1 年前 |
|
VonDerHase · 从列表中删除特定值,Python 1 年前 |
|
|
Nico44044 · JS对数组进行排序,数组末尾为null和空值 1 年前 |