File.read" [无效编码]"在红宝石

时间:2017-07-27 19:44:37

标签: ruby

我想阅读ruby中的文件内容 以下代码适用于我尝试过的大多数文件,但由于无效编码问题,其中一个文件无法读取文件。

该文件包含xml字符串(是plist文件)

content_of_file = File.read(@path_to_file)

另外

content_of_file = File.read(@path_to_file, :encoding => 'utf-8')

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

答案:https://apple.stackexchange.com/questions/101719/trouble-opening-plist-files-in-text-editor

plist文件不一定是纯文本,因此需要通过转换器运行。 Finder和Xcode(有一个plist编辑器)在不告诉用户的情况下执行此操作

这个C代码中记录了二进制格式,因此任何应用程序都可以转换它,有人用英文写了格式描述,这里有更多的Apple文档,但请注意它引用/ Developer / Documentation中的旧路径

命令行程序plutil可以与XML进行转换

e.g。在stdout上以XML格式查看二进制属性列表:

plutil -convert xml1 -o - <file name>

还要将二进制文件转换为XML plist,然后保留,以便用户程序可以读取。

plutil -convert xml1 <file name>