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