2017-07-27 61 views
0

我想閱讀ruby中的文件內容 以下代碼對於我嘗試過的大多數文件都能正常工作,但是由於無效,因此其中一個文件無法讀取編碼的問題。ruby​​中的File.read「[Invalid encoding]」

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

content_of_file = File.read(@path_to_file) 

而且

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

如何解決這個問題?

+0

我們不知道哪些文件你想讀.. –

+0

@AnkurJyotiPhukan是plist文件 –

+1

你確定你的文件進行編碼'utf-8'?您是否嘗試過使用其他編碼(如'iso-8859-1'?) –

回答

0

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

的plist文件不一定是純文本因此他們需要通過轉換器來運行。 Finder和Xcode(它有一個plist編輯器)在不告訴用戶的情況下執行此操作

此C代碼中記錄了二進制格式,因此任何應用程序都可以將其轉換,並且有人已經用英文和更多Apple文檔編寫了格式說明,但注意,它引用在/ Developer /文檔古道

命令行程序plutil可以轉換和XML

如查看XML格式的二進制屬性列表在stdout:

plutil -convert xml1 -o - <file name> 

而且爲二進制轉換爲XML的plist到位,然後離開它使用戶程序可以讀取。

plutil -convert xml1 <file name>