【发布时间】:2011-08-15 00:51:25
【问题描述】:
我想澄清一下我对 Ruby 中字符串比较的理解。
Ruby 如何比较二进制字符串?
它是 (a) 在 UTF-8 字符上拆分字符串,根据 UTF-8 字符中二进制字符串的长度和 UTF-8 字符的值比较字符串,还是 (b) 在字节级别比较字符串?
【问题讨论】:
标签: ruby string binary compare
我想澄清一下我对 Ruby 中字符串比较的理解。
Ruby 如何比较二进制字符串?
它是 (a) 在 UTF-8 字符上拆分字符串,根据 UTF-8 字符中二进制字符串的长度和 UTF-8 字符的值比较字符串,还是 (b) 在字节级别比较字符串?
【问题讨论】:
标签: ruby string binary compare
这取决于您使用的 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 对象标准化为相同的编码。
【讨论】: