我正在努力將ID3v2標記內的簡單jpeg文件從TCP ++套接字轉換爲java(Android)。庫「taglib」提供提取這個文件,我可以將jpeg保存爲一個新文件。將jpeg從C++傳輸到android(java)
發送函數看起來像這樣
char *parameter_full = new char[f3->picture().size()+2];
sprintf(parameter_full,"%s\n\0",f3->picture().data());
// send
result = send(c,parameter_full,strlen(parameter_full),0);
delete[] parameter_full;
其中
[3->圖像()。數據()返回一個指針的內部數據結構(它返回的char *)和 [3- > picture()。size()返回數組的大小。
然後用Android的
String imageString = inFromServer.readLine();
byte[] imageBytes = imageString.getBytes();
Bitmap cover = BitmapFactory.decodeByteArray(imageBytes,0,imageBytes.length);
接收它但不知何故decodeByteArray總是返回null。我的想法是,Java沒有正確接收圖像,因爲imageString只包含4個字符......而提取的jpeg文件的大小爲12.7 KB。 但是出了什麼問題?
馬丁
不要以字符串形式讀取它。這不是一個字符串。以原始字節讀入。 – 2011-03-30 18:46:39