【发布时间】:2011-03-06 22:35:43
【问题描述】:
我正在打开一个 CSV 文件并使用 File.open(filename) 从中读取值。
所以我做了这样的事情:
my_file = File.open(filename)
my_file.each_line do |line|
line_array = line.split("\t")
ratio = line_array[1]
puts "#{ratio}"
puts ratio.isutf8?
end
我遇到的问题是 line_array 中的值似乎是一种奇怪的格式。例如,CSV 文件单元格中的值之一是 0.86。当我打印出来时,它看起来像“0 . 8 6”
所以它有点像字符串,但我不确定它是如何编码的。当我尝试做一些反省时:
ratio.isutf8?
I get this:
=> undefined method 'isutf8?' for "\0000\000.\0008\0006\000":String
这到底是怎么回事?!如何将 ratio 转换为可以调用 ratio.to_f 的普通字符串?
谢谢。
【问题讨论】:
标签: ruby string encoding binary unpack