4

如果我有一个 Java Strings 的字典排序列表[s1,s2,s3,s4, ...., sn],然后使用 UTF-8 编码将每个 String 转换为一个字节数组,那么字节数组bx = sx.getBytes("UTF-8")列表是否[b1,b2,b3,...bn]也是字典排序的?

4

2 回答 2

6

是的。根据RFC 3239

UTF-8 字符串的字节值字典排序顺序与按字符编号排序时相同。当然,这是有限的兴趣,因为基于字符数的排序顺序在文化上几乎从不有效。

正如 Ian Roberts 指出的那样,这适用于“真正的 UTF-8(例如String.getBytes会给你)”,但要注意DataInputStream's fake UTF-8,它将在 [U+000001] 和 [U 之后排序 [U+000000] +00F000] 在 [U+10FFFF] 之后。

于 2012-08-15T23:51:11.737 回答
-2

您会在给定的顺序中获得对象 X 的列表/数组。

您创建一个新的列表/数组 Y 的此类对象,应用一个方法。

Y 将具有您创建它的顺序(通常您将保持 X 顺序)。不会发生重新排序。

此外, byte[] 的字典顺序是没有意义的。

于 2012-08-15T23:13:41.500 回答