我想澄清一下我对Ruby中字符串比较的理解。
Ruby如何比较二进制字符串?
是否(a)将字符串拆分为UTF-8字符,根据UTF-8字符的二进制字符串长度和UTF-8字符的值比较字符串,或者(b)比较字节级别的字符串?
答案 0 :(得分:1)
这取决于您使用的Ruby版本
在Ruby 1.8中,strings are just a collection of bytes。
在Ruby 1.9中,strings are a collection of encoded data。
Ruby 1.9中的字符串比较是在字节级别完成的,但其他一些操作(如正则表达式匹配)则不是。在比较它们之前,最好将String对象规范化为相同的编码。