读取ruby中的文件,将输出作为字符空格

时间:2015-06-30 06:26:17

标签: ruby file

我已经通过powershell脚本将变量输出存储到文件中。 例如:7644511AAFCFBA6A0CC4706F3AA795BB86存储在file.txt

之后我从文件中读取数据并使用ruby脚本将其存储在变量中。 当我打印变量时,它打印数据之间的空格。 例如:■7 6 4 4 5 1 1 A A F C F B A 6 A 0 C C 4 7 0 6 F 3 A A 7 9 5 B B 8 6 E D 5 3 3 0

我想将数据存储在一个变量中,但不包含字符之间的任何空格。 我尝试了很多,但找不到解决方案。

file.txt文件中的内容:

7644511AAFCFBA6A0CC4706F3AA795BB86ED5330

练习1:

File.open("c:\\file.txt") { |f| puts f.read }

练习2:

txt = open("c:\\file.txt")
print txt.read

Ex3:

File.readlines("c:\\file.txt").each do |line| 
  var = line 
  puts var 
end

请给我宝贵的建议。

我在Windows平台上这样做

1 个答案:

答案 0 :(得分:1)

file.txt可能是一个问题,而不是您的代码。正如@stefan所说,它可能是由于文件的UTF-16编码,而ruby使用你环境的默认编码。例如,如果您的环境(您获得此结果的地方 - 即.. powershell)设置为UTF-8,ruby会将该文件读取为UTF-8文件。

您可以使用以下方式手动设置编码:File.read("file.txt", encoding: <encoding>)。其中<encoding>是文件的类型。我建议看看这可能有助于更好地理解问题。我还建议您查看file.txt的编码,以了解其编码是什么。