比较字符串二进制(而不是字母数字)

pul*_*988 5 sorting string compare

如何比较二进制字符串(不是字母数字)?

\n\n

洪流规格:

\n\n
\n

键必须是字符串并按排序顺序显示(按原始字符串排序,而不是字母数字排序)。应使用二进制比较来比较字符串,而不是特定于区域性的“自然”比较。

\n
\n\n

所以我需要按键对字典进行排序...但我没有得到这个规范..\n解释..有人吗?

\n\n

更新:根据:http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch5lingsort.htm

\n\n
\n

使用二元排序

\n\n

对字符数据进行排序的一种方法是基于字符编码方案定义的字符的数值。这称为二元排序。二进制排序是最快的排序类型。它们为英语字母表生成合理的结果,因为 ASCII 和 EBCDIC 标准以升序数值定义字母 A 到 Z。

\n\n

注意:在 ASCII 标准中,所有大写字母都出现在任何小写字母之前。在 EBCDIC 标准中,情况正好相反:所有小写字母都出现在任何大写字母之前。

\n\n

当存在其他语言中使用的字符时,二进制排序通常不会产生合理的结果。例如,当\n \xc3\x84 的数值高于字符编码方案中的 B 时,升序\n ORDER BY 查询将返回字符串 ABC、ABZ、BCD、\xc3\x84BC。\n 二进制排序对于使用表意字符的亚洲语言来说通常没有语言意义。

\n
\n\n

所以基本上英语的结果与字母顺序排序相同..\n很好..

\n

ASh*_*lly 1

只要确保字符被视为字节,任何标准排序例程都应该有效。