0

レガシープログラムに問題があります。プログラムは、ディスクからファイルを文字列として読み取り、ファイルをBase64としてエンコードして、ファイルをディスクに保存します。問題は、読み込まれたファイルがバイナリファイルであるということです。このプロセスを逆にする方法はありますか?

問題のあるコード行は次のとおりです。

String sig = android.util.Base64.encodeToString(
    utility.readFileAsString(file.getPath()).getBytes(),
    android.util.Base64.DEFAULT);

ファイルをバイト単位で読み込むようにアプリケーションを更新しましたが、すでに作成されているファイルには役立ちません。

どんな助けでも大歓迎です...

4

1 に答える 1

1

ファイルを文字列にBase64デコードしてから、使用されている文字セットがわかっている場合はString.getBytes()またはString.getBytes(charset)を呼び出すことutility.readFileAsString()ができますが、すべてではないにしても多くのファイルが破損している可能性を受け入れる必要があります。

于 2013-03-07T01:07:44.197 に答える