2017-07-27 3 views
0

ルビーのファイルの内容を読みたい 次のコードは、私が試したほとんどのファイルで問題なく動作しますが、いずれかのファイルが符号化問題です。ファイルがxml文字列が含まれているルビーのFile.read "[無効なエンコーディング]"

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コードで記述されているので、どのアプリケーションでも変換できます。それは、コマンドラインプログラムplutilはXML

などにしてから変換することができます/開発/ドキュメントに

を古いパスを参照することに注意してください標準出力にXML形式のバイナリプロパティリストを表示するには:

plutil -convert xml1 -o - <file name> 

また場所にXML plistをバイナリに変換し、ユーザプログラムはどちらか読み取ることができるようにそれを残して。

plutil -convert xml1 <file name> 
関連する問題