• 締切済み

JAVAプログラミング、Stringからの画像ファイル作成について

Ping画像ファイルの元のバイナリデータがString変数に格納されています。 この状態でping画像ファイルとして保存、もしくはswingで表示したいのですが、どのようにすればよろしいですか?? 以下具体的なイメージ。 String imagedata=new String("臼NG IHDR炳?カ MtュコDuシQS僥ト q#G? o<Lwマヘ[版MrュコDナ[5?! H 屆 3.ユh偃槿wz?夥Zu?ィゥL? ハ2モ 」帝......END?"); ここからimagedataをpingファイルとして出力、もしくはswingで表示。 pingバイナリデータを扱うクラス等があるのでしょうか。 よろしくお願いします。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

imagedataの文字列が"臼NG"で始まっているところから、このデータは「元のPNG画像データのバイト列をShift_JISの文字列データと見なしてJavaのStringに変換したもの」ではないかと想像できます。 もしそうなら、StringクラスのgetBytes("Shift_JIS")メソッドを使えば元のバイト列に戻せそうな気がしますが、おそらくそれではダメです。「元のバイト列をShift_JISの文字列データと見なしてJavaのStringに変換」するところで情報が欠落してしまった可能性が高いからです。getBytes()で逆変換しても、元通りのPNGデータは得られないでしょう。 したがって、「JavaのStringとして扱っている時点でアウト」というのが結論です。Stringに変換される前の元データを入手する努力をしてください。

関連するQ&A