Ruby 请教 gbk 字符的问题

R_Rboys · 2012年09月13日 · 最后由 R_Rboys 回复于 2012年09月13日 · 2294 次阅读

我遇到了这样的一串字符串:a = "\xE4\xBD\xA0" puts a #=> "你" puts a.length #=> 3 p a #=> "\xE4\xBD\xA0" p a.length #=> 3 然后让 a 和 字符'你'进行比较 a.eql? ‘你' #=> false

请问怎样才能正确的比较 a 和字符 '你'

补充:a.encoding #=> Encoding:ASCII-8BIT

在文件的第一行加上# encoding: utf-8

#1 楼 @ywjno 并不是这个问题,我一开始就加了这句代码

#2 楼 @R_Rboys 在我本地下就是好用来着,windows xp+1.9.3-p125

#3 楼 @ywjno 你应该是在 irb 上试的吧?在 irb 上试是试不出来的!

#3 楼 @ywjno 我已经找到解决方案了,不过还是要谢谢你

#5 楼 @R_Rboys 我还真不是在 irb 下试的,我是保存到一个文件里面然后在 cmd 下执行

我的问题已经解决了!嘿嘿~没想到找了一下午,竟然在发贴后不久找到了。。。 解决方案: "\xE4\xBD\xA0".force_coding("UTF-8") 如果有遇到类似问题的,可以看下以前的一个贴(刚找到的):http://ruby-china.org/topics/1223, 我就是看了 hooopo 贴出来的链接(12#)找到答案的!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号