2016-08-15 10 views

答えて

1

いくつかの方法がありますが、彼らはより多くの回避策のようなものです。それをStringに変換できますが、そのコンストラクタにはエンコーディングである2番目のパラメータが必要です。 Stringコンストラクタは渡されたエンコーディングを「検出」するのではなく「使用する」。

mozilla'sまたはjchardetのような、いくつかのエンコード検出アルゴリズムを試すことができます。うまく理由をバイト配列が間違っているからエンコーディングを検出

This answer合計:

あなたは、任意のバイトストリームのエンコーディングを決定することはできません。これがエンコーディングの性質です。符号化とは、バイト値とその表現との間のマッピングを意味する。だから、すべてのエンコーディングは正しいかもしれません。

+0

私は完全に同意します。エンコーディングを誰にでもデータベースに保存してみてください。何らかの理由でそれが不可能な場合、エンコーディング検出アルゴリズムが最善の策です。 – OsaSoft

+0

君たちありがとう。しかし、この2つのアルゴリズムはgrailsアプリケーションで動作しますか?または、GroovyとJavaクラスとの統合が必要ですか? –

+0

jchardetはJava libであり、Groovyとのシームレスな統合です。 – Will

関連する問題