Ruby会自动检测文件的代码页吗?

时间:2009-12-14 18:09:42

标签: ruby unicode codepages

如果保存带有以下字符б U+0431的文本文件,请将其另存为ANSI代码页文件。

Ruby返回ord = 63。使用UTF-8保存文件,因为代码页返回ord = 208, 177

我应该特别告诉Ruby处理用某个代码页编码的输入吗?如果是这样,你怎么做?

1 个答案:

答案 0 :(得分:5)

是在ruby源代码中还是在使用File.open读取的文件中?如果它在ruby源代码中,你可以(在ruby 1.9中)将它添加到文件的顶部:

# encoding: utf-8

或者您可以指定大多数其他编码(例如iso-8859-1)。

如果您正在阅读File.open的文件,则可以执行以下操作:

File.open("file.txt", "r:utf-8") {|f| ... }

与编码注释一样,您也可以在此处传递不同类型的编码。