Does Ruby share PHP's multibyte string problem?
PHP在使用多字节字符串(非ASCII字符)时有很多问题。整个语言的构建假设每个字符都是一个字节。为了解决这个问题,他们发明了mb_字符串函数,您可以使用它来代替标准函数(它工作得很好)。
但是,这确实是一个难题,因为您必须验证您在线下载/查找的代码是否使用这些功能,或者启用
鲁比也有这个问题吗?
型
它也有同样的问题。它就在这上面。您可以使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >> s = "I?t?rnati?nàliz?ti?n" =>"I?t?rnati?nàliz?ti?n" >> puts s[0..3] I?t => nil >> puts s.mb_chars[0..3] I?t? => nil >> puts s.mb_chars.size 20 => nil >> puts s.size 27 => nil |
号
型
我认为Ruby1.9消除了这个基础假设
型
1 2 | irb(main):002:0> '?'.length => 2 |