次のような16進文字列があります。
String hexImage ="0xFFD8FFE000104A46494600010200006400640000FFEC00114475636B79000100040000003C..."
Javaを使用して画像に変換する必要があります。最初に org.apache.commons.codec.binary.Hex クラスでバイト配列に変換してみました。FileOutputStream は後でこれをファイルにダンプします。
char[] charArr= hexImage.toCharArray();
byte[] byteArray = Hex.decodeHex(charArr);
ただし、Hex クラスのパーサーは、Decoder の例外でチョークします: 奇数の文字。バイト配列への変換にどの方法を使用しても、失敗します。ファイル形式はもちろんJPEGです。
この0xFF を文字列から削除しようとしましたが、この時点で画像が破損しています。0xFF が犯人だと思います-これを修正するために何をする必要があるかについてのアイデアはありますか?