0

たとえば、ファイルのメタデータを解析して取得するには、サードパーティのライブラリが必要です。ただし、メタデータが別のエンコーディングでエンコードされている場合でも、メソッドは utf-8 を介してすべてのメタ データをデコードし、utf-8 でエンコードされた文字列を返します。また、lib は生の文字列データを返して正しくエンコードする方法をサポートしていません。これで、ファイルの元のメタ データのエンコードが、たとえば GBK であることがわかりました。utf-8 でエンコードされた文字列を GBK に修正する方法はありますか?

4

2 に答える 2

1

いいえ、ありません。UTF-8に含まれていないUTF-8として何かをデコードすると、損失が発生します。つまり、libから文字列を取得するまでに、情報が失われ、元のデータをGBKとして表すことができなくなります。libの動作を変更するか、ファイルのメタデータをUTF-8に変更します。

于 2013-01-11T11:20:31.393 に答える
1

はい。ruby 1.9force_encodingencode文字列クラスのメソッドについて学習する必要があります。Rubyで操作する前に、できるだけ早くすべてを実際にUTF-8に変換することをお勧めします。

于 2013-01-11T08:20:59.317 に答える